|
@@ -1876,7 +1876,36 @@ describe('BrowserWindow module', () => {
|
|
|
});
|
|
|
|
|
|
ifdescribe(process.platform === 'darwin' && parseInt(os.release().split('.')[0]) >= 14)('"titleBarStyle" option', () => {
|
|
|
+ const testWindowsOverlay = async (style: any) => {
|
|
|
+ const w = new BrowserWindow({
|
|
|
+ show: false,
|
|
|
+ width: 400,
|
|
|
+ height: 400,
|
|
|
+ titleBarStyle: style,
|
|
|
+ webPreferences: {
|
|
|
+ nodeIntegration: true,
|
|
|
+ contextIsolation: false
|
|
|
+ },
|
|
|
+ titleBarOverlay: true
|
|
|
+ });
|
|
|
+ const overlayHTML = path.join(__dirname, 'fixtures', 'pages', 'overlay.html');
|
|
|
+ await w.loadFile(overlayHTML);
|
|
|
+ const overlayEnabled = await w.webContents.executeJavaScript('navigator.windowControlsOverlay.visible');
|
|
|
+ expect(overlayEnabled).to.be.true('overlayEnabled');
|
|
|
+ const overlayRect = await w.webContents.executeJavaScript('getJSOverlayProperties()');
|
|
|
+ expect(overlayRect.y).to.equal(0);
|
|
|
+ expect(overlayRect.x).to.be.greaterThan(0);
|
|
|
+ expect(overlayRect.width).to.be.greaterThan(0);
|
|
|
+ expect(overlayRect.height).to.be.greaterThan(0);
|
|
|
+ const cssOverlayRect = await w.webContents.executeJavaScript('getCssOverlayProperties();');
|
|
|
+ expect(cssOverlayRect).to.deep.equal(overlayRect);
|
|
|
+ const geometryChange = emittedOnce(ipcMain, 'geometrychange');
|
|
|
+ w.setBounds({ width: 800 });
|
|
|
+ const [, newOverlayRect] = await geometryChange;
|
|
|
+ expect(newOverlayRect.width).to.equal(overlayRect.width + 400);
|
|
|
+ };
|
|
|
afterEach(closeAllWindows);
|
|
|
+ afterEach(() => { ipcMain.removeAllListeners('geometrychange'); });
|
|
|
it('creates browser window with hidden title bar', () => {
|
|
|
const w = new BrowserWindow({
|
|
|
show: false,
|
|
@@ -1897,6 +1926,12 @@ describe('BrowserWindow module', () => {
|
|
|
const contentSize = w.getContentSize();
|
|
|
expect(contentSize).to.deep.equal([400, 400]);
|
|
|
});
|
|
|
+ it('sets Window Control Overlay with hidden title bar', async () => {
|
|
|
+ await testWindowsOverlay('hidden');
|
|
|
+ });
|
|
|
+ it('sets Window Control Overlay with hidden inset title bar', async () => {
|
|
|
+ await testWindowsOverlay('hiddenInset');
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
ifdescribe(process.platform === 'darwin')('"enableLargerThanScreen" option', () => {
|