diff --git a/lib/browser/chrome-extension.js b/lib/browser/chrome-extension.js index 39df4ec657ee..8887f5277c7b 100644 --- a/lib/browser/chrome-extension.js +++ b/lib/browser/chrome-extension.js @@ -115,7 +115,9 @@ const removeBackgroundPages = function (manifest) { const sendToBackgroundPages = function (...args) { for (const page of Object.values(backgroundPages)) { - page.webContents._sendInternalToAll(...args) + if (!page.webContents.isDestroyed()) { + page.webContents._sendInternalToAll(...args) + } } } @@ -161,7 +163,7 @@ ipcMainUtils.handle('CHROME_RUNTIME_CONNECT', function (event, extensionId, conn } const page = backgroundPages[extensionId] - if (!page) { + if (!page || page.webContents.isDestroyed()) { throw new Error(`Connect to unknown extension ${extensionId}`) } @@ -191,7 +193,7 @@ ipcMainUtils.handle('CHROME_RUNTIME_SEND_MESSAGE', async function (event, extens } const page = backgroundPages[extensionId] - if (!page) { + if (!page || page.webContents.isDestroyed()) { throw new Error(`Connect to unknown extension ${extensionId}`) }