diff --git a/lib/browser/chrome-extension.js b/lib/browser/chrome-extension.js index d3c76ce797be..fac80d9177e6 100644 --- a/lib/browser/chrome-extension.js +++ b/lib/browser/chrome-extension.js @@ -81,8 +81,8 @@ const removeBackgroundPages = function (manifest) { } // Dispatch tabs events. -const hookWindowForTabEvents = function (win) { - const tabId = win.webContents.id +const hookWindowForTabEvents = function (win, webContents) { + const tabId = webContents.id for (const page of objectValues(backgroundPages)) { page.webContents.sendToAll('CHROME_TABS_ONCREATED', tabId) } @@ -301,6 +301,7 @@ app.once('ready', function () { return manifest.name } } + BrowserWindow.removeDevToolsExtension = function (name) { const manifest = manifestNameMap[name] if (!manifest) return @@ -315,9 +316,13 @@ app.once('ready', function () { const init = BrowserWindow.prototype._init BrowserWindow.prototype._init = function () { init.call(this) - hookWindowForTabEvents(this) - this.webContents.on('devtools-opened', () => { - loadDevToolsExtensions(this, objectValues(manifestMap)) + this._loadDevToolsExtensions(this.webContents) + } + + BrowserWindow.prototype._loadDevToolsExtensions = function (webContents) { + hookWindowForTabEvents(this, webContents) + webContents.on('devtools-opened', function () { + loadDevToolsExtensions(webContents, objectValues(manifestMap)) }) } }) diff --git a/lib/browser/guest-view-manager.js b/lib/browser/guest-view-manager.js index fdd426c229f6..8bccaad84b0e 100644 --- a/lib/browser/guest-view-manager.js +++ b/lib/browser/guest-view-manager.js @@ -1,5 +1,6 @@ 'use strict' +const BrowserWindow = require('electron').BrowserWindow const ipcMain = require('electron').ipcMain const webContents = require('electron').webContents @@ -150,6 +151,10 @@ const createGuest = function (embedder, params) { embedder.send.apply(embedder, ['ELECTRON_GUEST_VIEW_INTERNAL_SIZE_CHANGED-' + guest.viewInstanceId].concat(args)) }) + // Enable DevTools extensions in guest view + const window = BrowserWindow.fromWebContents(embedder) + if (window) window._loadDevToolsExtensions(guest) + return id }