diff --git a/platform/chromium/vapi-client.js b/platform/chromium/vapi-client.js index 47edde9a9..057687f51 100644 --- a/platform/chromium/vapi-client.js +++ b/platform/chromium/vapi-client.js @@ -33,6 +33,13 @@ self.vAPI = self.vAPI || {}; +// https://github.com/gorhill/uBlock/issues/456 +// Already injected? +if ( vAPI.vapiClient ) { + return; +} +vAPI.vapiClient = true; + var chrome = self.chrome; var vAPI = self.vAPI; diff --git a/src/js/contentscript-end.js b/src/js/contentscript-end.js index 8b4935efe..13bbb3e77 100644 --- a/src/js/contentscript-end.js +++ b/src/js/contentscript-end.js @@ -33,6 +33,13 @@ if ( vAPI.canExecuteContentScript() !== true ) { throw "uBlock> contentscript-end.js > Skipping " + location.protocol; } +// https://github.com/gorhill/uBlock/issues/456 +// Already injected? +if ( vAPI.contentscriptEnd ) { + return; +} +vAPI.contentscriptEnd = true; + /******************************************************************************/ var messager = vAPI.messaging.channel('contentscript-end.js'); diff --git a/src/js/contentscript-start.js b/src/js/contentscript-start.js index 6106c875d..edc226369 100644 --- a/src/js/contentscript-start.js +++ b/src/js/contentscript-start.js @@ -44,6 +44,13 @@ if ( vAPI.canExecuteContentScript() !== true ) { return; } +// https://github.com/gorhill/uBlock/issues/456 +// Already injected? +if ( vAPI.contentscriptStart ) { + return; +} +vAPI.contentscriptStart = true; + /******************************************************************************/ var localMessager = vAPI.messaging.channel('contentscript-start.js'); @@ -55,11 +62,6 @@ var localMessager = vAPI.messaging.channel('contentscript-start.js'); // These can be inserted before the DOM is loaded. var cosmeticFilters = function(details) { - // Maybe uBlock's style tag was already injected? - var style = document.getElementById('ublock-preload-1ae7a5f130fc79b4fdb8a4272d9426b5'); - if ( style !== null ) { - return; - } var donthideCosmeticFilters = {}; var hideCosmeticFilters = {}; style = document.createElement('style');