fix: child window alwaysOnTop level persistence (#29813)
* fix: child window alwaysOnTop level * chore: add undocumented getAlwaysOnTopLevel * test: add test for level persistence * Address feedback from review
This commit is contained in:
parent
6e310b7424
commit
129f92e1fa
6 changed files with 51 additions and 6 deletions
|
@ -1430,15 +1430,12 @@ describe('BrowserWindow module', () => {
|
|||
describe('BrowserWindow.setAlwaysOnTop(flag, level)', () => {
|
||||
let w = null as unknown as BrowserWindow;
|
||||
|
||||
afterEach(closeAllWindows);
|
||||
|
||||
beforeEach(() => {
|
||||
w = new BrowserWindow({ show: true });
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
await closeWindow(w);
|
||||
w = null as unknown as BrowserWindow;
|
||||
});
|
||||
|
||||
it('sets the window as always on top', () => {
|
||||
expect(w.isAlwaysOnTop()).to.be.false('is alwaysOnTop');
|
||||
w.setAlwaysOnTop(true, 'screen-saver');
|
||||
|
@ -1466,6 +1463,16 @@ describe('BrowserWindow module', () => {
|
|||
const [, alwaysOnTop] = await alwaysOnTopChanged;
|
||||
expect(alwaysOnTop).to.be.true('is not alwaysOnTop');
|
||||
});
|
||||
|
||||
ifit(process.platform === 'darwin')('honors the alwaysOnTop level of a child window', () => {
|
||||
w = new BrowserWindow({ show: false });
|
||||
const c = new BrowserWindow({ parent: w });
|
||||
c.setAlwaysOnTop(true, 'screen-saver');
|
||||
|
||||
expect(w.isAlwaysOnTop()).to.be.false();
|
||||
expect(c.isAlwaysOnTop()).to.be.true('child is not always on top');
|
||||
expect((c as any)._getAlwaysOnTopLevel()).to.equal('screen-saver');
|
||||
});
|
||||
});
|
||||
|
||||
describe('preconnect feature', () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue