From 685948bcaa67a899a50c259e5dec3a4cafa30a64 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 13 Mar 2018 00:28:34 +0900 Subject: [PATCH] Parent's visibility trumps inherited 'show' option --- lib/browser/guest-window-manager.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/browser/guest-window-manager.js b/lib/browser/guest-window-manager.js index 50e890e225a3..4c4dc90d0741 100644 --- a/lib/browser/guest-window-manager.js +++ b/lib/browser/guest-window-manager.js @@ -47,8 +47,19 @@ const mergeBrowserWindowOptions = function (embedder, options) { options.webPreferences = {} } if (embedder.browserWindowOptions != null) { + let parentOptions = {...embedder.browserWindowOptions} + + // if parent's visibility is available, that overrides 'show' flag (#12125) + const win = BrowserWindow.fromWebContents(embedder.webContents) + if (win != null) { + const show = win.isVisible() + if (typeof show === 'boolean') { + parentOptions.show = show + } + } + // Inherit the original options if it is a BrowserWindow. - mergeOptions(options, embedder.browserWindowOptions) + mergeOptions(options, parentOptions) } else { // Or only inherit webPreferences if it is a webview. mergeOptions(options.webPreferences, embedder.getWebPreferences())