diff --git a/lib/browser/guest-view-manager.js b/lib/browser/guest-view-manager.js index e11b94e8685ea..d56a75c985bfd 100644 --- a/lib/browser/guest-view-manager.js +++ b/lib/browser/guest-view-manager.js @@ -417,3 +417,4 @@ const getEmbedder = function (guestInstanceId) { exports.getGuest = getGuest exports.getEmbedder = getEmbedder +exports.isWebViewTagEnabled = isWebViewTagEnabled diff --git a/lib/browser/rpc-server.js b/lib/browser/rpc-server.js index e0249cff766f2..3282270e06692 100644 --- a/lib/browser/rpc-server.js +++ b/lib/browser/rpc-server.js @@ -13,6 +13,7 @@ const { isPromise } = electron const ipcMain = require('@electron/internal/browser/ipc-main-internal') const objectsRegistry = require('@electron/internal/browser/objects-registry') +const guestViewManager = require('@electron/internal/browser/guest-view-manager') const bufferUtils = require('@electron/internal/common/buffer-utils') const errorUtils = require('@electron/internal/common/error-utils') @@ -411,7 +412,6 @@ handleRemoteCommand('ELECTRON_BROWSER_CONTEXT_RELEASE', (event, contextId) => { }) handleRemoteCommand('ELECTRON_BROWSER_GUEST_WEB_CONTENTS', function (event, contextId, guestInstanceId) { - const guestViewManager = require('@electron/internal/browser/guest-view-manager') return valueToMeta(event.sender, contextId, guestViewManager.getGuest(guestInstanceId)) }) @@ -503,6 +503,7 @@ ipcMain.on('ELECTRON_BROWSER_SANDBOX_LOAD', function (event) { preloadSrc, preloadError, isRemoteModuleEnabled: event.sender._isRemoteModuleEnabled(), + isWebViewTagEnabled: guestViewManager.isWebViewTagEnabled(event.sender), process: { arch: process.arch, platform: process.platform, diff --git a/lib/sandboxed_renderer/init.js b/lib/sandboxed_renderer/init.js index 567785c748467..8d6c06a2899bb 100644 --- a/lib/sandboxed_renderer/init.js +++ b/lib/sandboxed_renderer/init.js @@ -29,7 +29,7 @@ Object.setPrototypeOf(process, EventEmitter.prototype) const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal') const { - preloadSrc, preloadError, isRemoteModuleEnabled, process: processProps + preloadSrc, preloadError, isRemoteModuleEnabled, isWebViewTagEnabled, process: processProps } = ipcRenderer.sendSync('ELECTRON_BROWSER_SANDBOX_LOAD') process.isRemoteModuleEnabled = isRemoteModuleEnabled @@ -123,7 +123,7 @@ if (binding.guestInstanceId) { process.guestInstanceId = parseInt(binding.guestInstanceId) } -if (!process.guestInstanceId && preloadProcess.argv.includes('--webview-tag=true')) { +if (!process.guestInstanceId && isWebViewTagEnabled) { // don't allow recursive `` require('@electron/internal/renderer/web-view/web-view').setupWebView(window) }