From ec31a1ee1dcafc3679e7082364cb41891fd409d6 Mon Sep 17 00:00:00 2001 From: Eric Date: Sat, 28 Jul 2018 23:49:16 -0400 Subject: [PATCH] Fix loading of devtools extensions on startup The persisted DevTools Extensions were not being loaded correctly at startup. The `addDevToolsExtension` function was not defined when it was being called. An error was being thrown and ignored, so the whole thing would fail silently. I moved the code to load the extensions to the end of the event handler, so now it works. --- lib/browser/chrome-extension.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/browser/chrome-extension.js b/lib/browser/chrome-extension.js index 4132aedadd..6e8083c1cd 100644 --- a/lib/browser/chrome-extension.js +++ b/lib/browser/chrome-extension.js @@ -357,20 +357,6 @@ app.on('will-quit', function () { // We can not use protocol or BrowserWindow until app is ready. app.once('ready', function () { - // Load persisted extensions. - loadedDevToolsExtensionsPath = path.join(app.getPath('userData'), 'DevTools Extensions') - try { - const loadedDevToolsExtensions = JSON.parse(fs.readFileSync(loadedDevToolsExtensionsPath)) - if (Array.isArray(loadedDevToolsExtensions)) { - for (const srcDirectory of loadedDevToolsExtensions) { - // Start background pages and set content scripts. - BrowserWindow.addDevToolsExtension(srcDirectory) - } - } - } catch (error) { - // Ignore error - } - // The public API to add/remove extensions. BrowserWindow.addExtension = function (srcDirectory) { const manifest = getManifestFromPath(srcDirectory) @@ -426,4 +412,18 @@ app.once('ready', function () { }) return devExtensions } + + // Load persisted extensions. + loadedDevToolsExtensionsPath = path.join(app.getPath('userData'), 'DevTools Extensions') + try { + const loadedDevToolsExtensions = JSON.parse(fs.readFileSync(loadedDevToolsExtensionsPath)) + if (Array.isArray(loadedDevToolsExtensions)) { + for (const srcDirectory of loadedDevToolsExtensions) { + // Start background pages and set content scripts. + BrowserWindow.addDevToolsExtension(srcDirectory) + } + } + } catch (error) { + // Ignore error + } })