diff --git a/platform/firefox/vapi-background.js b/platform/firefox/vapi-background.js index 2df36486a..c3a1f7456 100644 --- a/platform/firefox/vapi-background.js +++ b/platform/firefox/vapi-background.js @@ -455,11 +455,9 @@ vAPI.tabs.getTabId = function(target) { if ( vAPI.fennec ) { if ( target.browser ) { // target is a tab - return target.browser.loadContext.DOMWindowID; + target = target.browser; } return target.loadContext.DOMWindowID; - - return -1; } if ( target.linkedPanel ) { diff --git a/platform/firefox/vapi-common.js b/platform/firefox/vapi-common.js index 8c461453d..c84d2813e 100644 --- a/platform/firefox/vapi-common.js +++ b/platform/firefox/vapi-common.js @@ -127,7 +127,8 @@ vAPI.localStorage = { getItem: function(key) { try { return this.PB.getComplexValue( - key, Components.interfaces.nsISupportsString + key, + Components.interfaces.nsISupportsString ).data; } catch (ex) { return null; diff --git a/src/js/subscriber.js b/src/js/subscriber.js index b98b4f46b..c1c6e61c7 100644 --- a/src/js/subscriber.js +++ b/src/js/subscriber.js @@ -37,7 +37,7 @@ // https://github.com/gorhill/uBlock/issues/464 if ( document instanceof HTMLDocument === false ) { //console.debug('contentscript-start.js > not a HTLMDocument'); - return false; + return; } // Because in case @@ -52,7 +52,7 @@ if ( !vAPI ) { // The links look like this: // abp:subscribe?location=https://easylist-downloads.adblockplus.org/easyprivacy.txt[...] -if ( document.querySelector('[href^="abp:subscribe?"]') === null ) { +if ( document.querySelector('a[href^="abp:"]') === null ) { return; } @@ -66,14 +66,16 @@ var onAbpLinkClicked = function(ev) { if ( ev.button !== 0 ) { return; } - var receiver = ev.target; - if ( receiver === null ) { - return; - } - if ( receiver.tagName.toLowerCase() !== 'a' ) { - return; - } - var href = receiver.getAttribute('href') || ''; + var target = ev.target; + var limit = 3; + var href = ''; + do { + if ( target instanceof HTMLAnchorElement ) { + href = target.href; + break; + } + target = target.parentNode; + } while ( target && --limit ); if ( href === '' ) { return; }