From 37474178659c767a0a1179d82bda190dba3754fb Mon Sep 17 00:00:00 2001 From: Samuel Elliott Date: Thu, 23 Aug 2018 02:39:33 +0100 Subject: [PATCH] Register chrome-extension as privileged in the preload script --- client/src/builtin/ReactDevtoolsModule.js | 7 ++++--- client/src/builtin/VueDevToolsModule.js | 9 +++++---- core/gulpfile.babel.js | 7 +------ core/src/sparkplug.js | 2 ++ 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/client/src/builtin/ReactDevtoolsModule.js b/client/src/builtin/ReactDevtoolsModule.js index 68082612..d8205851 100644 --- a/client/src/builtin/ReactDevtoolsModule.js +++ b/client/src/builtin/ReactDevtoolsModule.js @@ -28,17 +28,18 @@ export default new class ReactDevtoolsModule extends BuiltinModule { } enabled(e) { - electron.remote.BrowserWindow.getAllWindows()[0].webContents.on('devtools-opened', this.devToolsOpened); + electron.remote.getCurrentWindow().webContents.on('devtools-opened', this.devToolsOpened); + if (electron.remote.getCurrentWindow().isDevToolsOpened) this.devToolsOpened(); } disabled(e) { electron.remote.BrowserWindow.removeDevToolsExtension('React Developer Tools'); - electron.remote.BrowserWindow.getAllWindows()[0].webContents.removeListener('devtools-opened', this.devToolsOpened); + electron.remote.getCurrentWindow().webContents.removeListener('devtools-opened', this.devToolsOpened); } devToolsOpened() { electron.remote.BrowserWindow.removeDevToolsExtension('React Developer Tools'); - electron.webFrame.registerURLSchemeAsPrivileged('chrome-extension'); + try { const res = electron.remote.BrowserWindow.addDevToolsExtension(path.join(Globals.getPath('ext'), 'extensions', 'rdt')); if (res !== undefined) { diff --git a/client/src/builtin/VueDevToolsModule.js b/client/src/builtin/VueDevToolsModule.js index 50af44b7..8c976c9f 100644 --- a/client/src/builtin/VueDevToolsModule.js +++ b/client/src/builtin/VueDevToolsModule.js @@ -28,21 +28,22 @@ export default new class VueDevtoolsModule extends BuiltinModule { } enabled(e) { - electron.remote.BrowserWindow.getAllWindows()[0].webContents.on('devtools-opened', this.devToolsOpened); + electron.remote.getCurrentWindow().webContents.on('devtools-opened', this.devToolsOpened); + if (electron.remote.getCurrentWindow().isDevToolsOpened) this.devToolsOpened(); } disabled(e) { electron.remote.BrowserWindow.removeDevToolsExtension('Vue.js devtools'); - electron.remote.BrowserWindow.getAllWindows()[0].webContents.removeListener('devtools-opened', this.devToolsOpened); + electron.remote.getCurrentWindow().webContents.removeListener('devtools-opened', this.devToolsOpened); } devToolsOpened() { electron.remote.BrowserWindow.removeDevToolsExtension('Vue.js devtools'); - electron.webFrame.registerURLSchemeAsPrivileged('chrome-extension'); + try { const res = electron.remote.BrowserWindow.addDevToolsExtension(path.join(Globals.getPath('ext'), 'extensions', 'vdt')); if (res !== undefined) { - Toasts.success(`${res } Installed`); + Toasts.success(`${res} Installed`); return; } Toasts.error('Vue.js devtools install failed'); diff --git a/core/gulpfile.babel.js b/core/gulpfile.babel.js index c1ed5600..a6e5d54f 100644 --- a/core/gulpfile.babel.js +++ b/core/gulpfile.babel.js @@ -1,7 +1,6 @@ import gulp from 'gulp'; import pump from 'pump'; import babel from 'gulp-babel'; -import watch from 'gulp-watch'; gulp.task('build', function () { return pump([ @@ -12,9 +11,5 @@ gulp.task('build', function () { }); gulp.task('watch', function () { - return pump([ - watch('src/**/*.js'), - babel(), - gulp.dest('dist') - ]); + return gulp.watch('src/**/*.js', gulp.series('build')); }); diff --git a/core/src/sparkplug.js b/core/src/sparkplug.js index 0efa10dd..1da783f0 100644 --- a/core/src/sparkplug.js +++ b/core/src/sparkplug.js @@ -17,6 +17,8 @@ import electron, { ipcRenderer } from 'electron'; console.log('[BetterDiscord|Sparkplug]'); + electron.webFrame.registerURLSchemeAsPrivileged('chrome-extension'); + const currentWindow = electron.remote.getCurrentWindow(); if (currentWindow.__bd_preload) {