diff --git a/lib/browser/guest-window-manager.js b/lib/browser/guest-window-manager.js index 35a1432d656..b9aaaa6ce5b 100644 --- a/lib/browser/guest-window-manager.js +++ b/lib/browser/guest-window-manager.js @@ -1,7 +1,6 @@ 'use strict'; const electron = require('electron'); -const nodeUrl = require('url'); const { BrowserWindow } = electron; const { isSameOrigin } = process.electronBinding('v8_util'); const { ipcMainInternal } = require('@electron/internal/browser/ipc-main-internal'); @@ -182,8 +181,9 @@ const isNodeIntegrationEnabled = function (sender) { // Checks whether |sender| can access the |target|: const canAccessWindow = function (sender, target) { - return isScriptableWindow(sender, target) || - (isChildWindow(sender, target) && isNodeIntegrationEnabled(sender)); + return isChildWindow(sender, target) || + isScriptableWindow(sender, target) || + isNodeIntegrationEnabled(sender); }; // Routed window.open messages with raw options @@ -191,12 +191,6 @@ ipcMainInternal.on('ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_OPEN', (event, url, fra if (url == null || url === '') url = 'about:blank'; if (frameName == null) frameName = ''; if (features == null) features = ''; - const parsedSourceURL = nodeUrl.parse(event.sender.getURL()); - const parsedTargetURL = nodeUrl.parse(url); - if (parsedTargetURL.protocol === 'file:' && parsedSourceURL.protocol !== 'file:') { - event.returnValue = null; - return; - } const options = {};