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())