Browse Source

Parent's visibility trumps inherited 'show' option

Charles Kerr 7 years ago
parent
commit
685948bcaa
1 changed files with 12 additions and 1 deletions
  1. 12 1
      lib/browser/guest-window-manager.js

+ 12 - 1
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())