From 357becd11326dbf47c95e1973d53fec10591bea8 Mon Sep 17 00:00:00 2001 From: Michaela Laurencin <35157522+mlaurencin@users.noreply.github.com> Date: Fri, 29 Jan 2021 05:24:30 -0800 Subject: [PATCH] fix: replace default frameName title with null check (#27521) * refactor: replace default frameName title with null check * add isNativeWindowOpen check in makeBrowserWindowOptions * modify snapshot test files * replace title with frame-name again for proxy - not native open * modify proxy snapshot title key-value to come after height key-value --- lib/browser/guest-window-manager.ts | 6 ++++-- .../snapshots/native-window-open.snapshot.txt | 18 ++++++++--------- .../snapshots/proxy-window-open.snapshot.txt | 20 +++++++++---------- spec-main/guest-window-manager-spec.ts | 2 +- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lib/browser/guest-window-manager.ts b/lib/browser/guest-window-manager.ts index 544da99629..be4707884c 100644 --- a/lib/browser/guest-window-manager.ts +++ b/lib/browser/guest-window-manager.ts @@ -47,6 +47,7 @@ export function openGuestWindow ({ event, embedder, guest, referrer, disposition embedder, features, frameName, + isNativeWindowOpen, overrideOptions: overrideBrowserWindowOptions }); @@ -199,10 +200,11 @@ const securityWebPreferences: { [key: string]: boolean } = { enableWebSQL: false }; -function makeBrowserWindowOptions ({ embedder, features, frameName, overrideOptions, useDeprecatedBehaviorForBareValues = true, useDeprecatedBehaviorForOptionInheritance = true }: { +function makeBrowserWindowOptions ({ embedder, features, frameName, isNativeWindowOpen, overrideOptions, useDeprecatedBehaviorForBareValues = true, useDeprecatedBehaviorForOptionInheritance = true }: { embedder: WebContents, features: string, frameName: string, + isNativeWindowOpen: boolean, overrideOptions?: BrowserWindowConstructorOptions, useDeprecatedBehaviorForBareValues?: boolean useDeprecatedBehaviorForOptionInheritance?: boolean @@ -216,9 +218,9 @@ function makeBrowserWindowOptions ({ embedder, features, frameName, overrideOpti options: { ...(useDeprecatedBehaviorForOptionInheritance && deprecatedInheritedOptions), show: true, - title: frameName, width: 800, height: 600, + ...(!isNativeWindowOpen && { title: frameName }), ...parsedOptions, ...overrideOptions, webPreferences: makeWebPreferences({ embedder, insecureParsedWebPreferences: parsedWebPreferences, secureOverrideWebPreferences: overrideOptions && overrideOptions.webPreferences, useDeprecatedBehaviorForOptionInheritance: true }) diff --git a/spec-main/fixtures/snapshots/native-window-open.snapshot.txt b/spec-main/fixtures/snapshots/native-window-open.snapshot.txt index f8716a8f8f..8486447026 100644 --- a/spec-main/fixtures/snapshots/native-window-open.snapshot.txt +++ b/spec-main/fixtures/snapshots/native-window-open.snapshot.txt @@ -5,11 +5,11 @@ "sender": "[WebContents]" }, "about:blank", - "frame name", + "frame-name", "new-window", { "width": 800, - "title": "frame name", + "title": "cool", "backgroundColor": "blue", "focusable": false, "webPreferences": { @@ -43,11 +43,11 @@ "sender": "[WebContents]" }, "about:blank", - "frame name", + "frame-name", "new-window", { "width": 800, - "title": "frame name", + "title": "cool", "backgroundColor": "blue", "focusable": false, "webPreferences": { @@ -80,11 +80,11 @@ "sender": "[WebContents]" }, "about:blank", - "frame name", + "frame-name", "new-window", { "width": 800, - "title": "frame name", + "title": "cool", "backgroundColor": "gray", "focusable": false, "webPreferences": { @@ -115,7 +115,7 @@ "sender": "[WebContents]" }, "about:blank", - "frame name", + "frame-name", "new-window", { "width": 800, @@ -150,11 +150,11 @@ "sender": "[WebContents]" }, "about:blank", - "frame name", + "frame-name", "new-window", { "width": 800, - "title": "frame name", + "title": "cool", "backgroundColor": "blue", "focusable": false, "webPreferences": { diff --git a/spec-main/fixtures/snapshots/proxy-window-open.snapshot.txt b/spec-main/fixtures/snapshots/proxy-window-open.snapshot.txt index 5e91374a1b..e03bb37133 100644 --- a/spec-main/fixtures/snapshots/proxy-window-open.snapshot.txt +++ b/spec-main/fixtures/snapshots/proxy-window-open.snapshot.txt @@ -7,13 +7,13 @@ "processId": "placeholder-process-id" }, "about:blank", - "frame name", + "frame-name", "new-window", { "show": true, - "title": "frame name", "width": 800, "height": 600, + "title": "frame-name", "top": 5, "left": 10, "resizable": false, @@ -42,13 +42,13 @@ "processId": "placeholder-process-id" }, "about:blank", - "frame name", + "frame-name", "new-window", { "show": true, - "title": "frame name", "width": 800, "height": 600, + "title": "frame-name", "resizable": false, "x": 0, "y": 10, @@ -76,13 +76,13 @@ "processId": "placeholder-process-id" }, "about:blank", - "frame name", + "frame-name", "new-window", { "show": true, - "title": "frame name", "width": 800, "height": 600, + "title": "frame-name", "backgroundColor": "gray", "webPreferences": { "nodeIntegration": false, @@ -110,13 +110,13 @@ "processId": "placeholder-process-id" }, "about:blank", - "frame name", + "frame-name", "new-window", { "show": true, - "title": "sup", "width": 800, "height": 600, + "title": "sup", "x": 50, "y": 20, "webPreferences": { @@ -142,13 +142,13 @@ "processId": "placeholder-process-id" }, "about:blank", - "frame name", + "frame-name", "new-window", { "show": false, - "title": "frame name", "width": 800, "height": 600, + "title": "frame-name", "top": 1, "left": 1, "x": 1, diff --git a/spec-main/guest-window-manager-spec.ts b/spec-main/guest-window-manager-spec.ts index 3c687916b3..20e640f02a 100644 --- a/spec-main/guest-window-manager-spec.ts +++ b/spec-main/guest-window-manager-spec.ts @@ -10,7 +10,7 @@ function genSnapshot (browserWindow: BrowserWindow, features: string) { browserWindow.webContents.on('new-window', (...args: any[]) => { resolve([features, ...args]); }); - browserWindow.webContents.executeJavaScript(`window.open('about:blank', 'frame name', '${features}') && true`); + browserWindow.webContents.executeJavaScript(`window.open('about:blank', 'frame-name', '${features}') && true`); }); }