Parent's visibility trumps inherited 'show' option

This commit is contained in:
Charles Kerr 2018-03-13 00:28:34 +09:00
parent dd2c2660b9
commit 685948bcaa

View file

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