From deba6553f58683d950749bd58b987925f6848e3f Mon Sep 17 00:00:00 2001 From: Ryohei Ikegami Date: Thu, 23 Mar 2017 22:43:06 +0900 Subject: [PATCH] Better preventDefault for ELECTRON_GUEST_WINDOW_MANAGER_INTERNAL_WINDOW_OPEN --- lib/browser/guest-window-manager.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/browser/guest-window-manager.js b/lib/browser/guest-window-manager.js index a9c9e20a36f7..7649547f9428 100644 --- a/lib/browser/guest-window-manager.js +++ b/lib/browser/guest-window-manager.js @@ -242,11 +242,14 @@ ipcMain.on('ELECTRON_GUEST_WINDOW_MANAGER_INTERNAL_WINDOW_OPEN', function (event disposition, options, additionalFeatures, postData) { options = mergeBrowserWindowOptions(event.sender, options) + const {webContents} = options event.sender.emit('new-window', event, url, frameName, disposition, options, additionalFeatures) const newGuest = event.newGuest if ((event.sender.isGuest() && !event.sender.allowPopups) || event.defaultPrevented) { if (newGuest !== undefined && newGuest !== null) { - event.defaultPrevented = false + if (webContents == newGuest.webContents) { + event.defaultPrevented = false + } event.returnValue = setupGuest(event.sender, frameName, newGuest, options) } else { event.returnValue = null