Register chrome-extension as privileged in the preload script

This commit is contained in:
Samuel Elliott 2018-08-23 02:39:33 +01:00
parent 4c0248ca00
commit 3747417865
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
4 changed files with 12 additions and 13 deletions

View File

@ -28,17 +28,18 @@ export default new class ReactDevtoolsModule extends BuiltinModule {
} }
enabled(e) { 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) { disabled(e) {
electron.remote.BrowserWindow.removeDevToolsExtension('React Developer Tools'); 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() { devToolsOpened() {
electron.remote.BrowserWindow.removeDevToolsExtension('React Developer Tools'); electron.remote.BrowserWindow.removeDevToolsExtension('React Developer Tools');
electron.webFrame.registerURLSchemeAsPrivileged('chrome-extension');
try { try {
const res = electron.remote.BrowserWindow.addDevToolsExtension(path.join(Globals.getPath('ext'), 'extensions', 'rdt')); const res = electron.remote.BrowserWindow.addDevToolsExtension(path.join(Globals.getPath('ext'), 'extensions', 'rdt'));
if (res !== undefined) { if (res !== undefined) {

View File

@ -28,21 +28,22 @@ export default new class VueDevtoolsModule extends BuiltinModule {
} }
enabled(e) { 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) { disabled(e) {
electron.remote.BrowserWindow.removeDevToolsExtension('Vue.js devtools'); 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() { devToolsOpened() {
electron.remote.BrowserWindow.removeDevToolsExtension('Vue.js devtools'); electron.remote.BrowserWindow.removeDevToolsExtension('Vue.js devtools');
electron.webFrame.registerURLSchemeAsPrivileged('chrome-extension');
try { try {
const res = electron.remote.BrowserWindow.addDevToolsExtension(path.join(Globals.getPath('ext'), 'extensions', 'vdt')); const res = electron.remote.BrowserWindow.addDevToolsExtension(path.join(Globals.getPath('ext'), 'extensions', 'vdt'));
if (res !== undefined) { if (res !== undefined) {
Toasts.success(`${res } Installed`); Toasts.success(`${res} Installed`);
return; return;
} }
Toasts.error('Vue.js devtools install failed'); Toasts.error('Vue.js devtools install failed');

View File

@ -1,7 +1,6 @@
import gulp from 'gulp'; import gulp from 'gulp';
import pump from 'pump'; import pump from 'pump';
import babel from 'gulp-babel'; import babel from 'gulp-babel';
import watch from 'gulp-watch';
gulp.task('build', function () { gulp.task('build', function () {
return pump([ return pump([
@ -12,9 +11,5 @@ gulp.task('build', function () {
}); });
gulp.task('watch', function () { gulp.task('watch', function () {
return pump([ return gulp.watch('src/**/*.js', gulp.series('build'));
watch('src/**/*.js'),
babel(),
gulp.dest('dist')
]);
}); });

View File

@ -17,6 +17,8 @@ import electron, { ipcRenderer } from 'electron';
console.log('[BetterDiscord|Sparkplug]'); console.log('[BetterDiscord|Sparkplug]');
electron.webFrame.registerURLSchemeAsPrivileged('chrome-extension');
const currentWindow = electron.remote.getCurrentWindow(); const currentWindow = electron.remote.getCurrentWindow();
if (currentWindow.__bd_preload) { if (currentWindow.__bd_preload) {