diff --git a/src/js/background.js b/src/js/background.js index 7cec3ed6c..3d335ee88 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -72,9 +72,11 @@ return { netWhitelist: {}, netWhitelistModifyTime: 0, netWhitelistDefault: [ + 'about-scheme', 'behind-the-scene', 'chrome-extension-scheme', 'chrome-scheme', + 'loopconversation.about-scheme', 'opera-scheme', '' ].join('\n').trim(), diff --git a/src/js/start.js b/src/js/start.js index f335dc003..911f7e3b1 100644 --- a/src/js/start.js +++ b/src/js/start.js @@ -81,6 +81,16 @@ var onVersionReady = function(lastVersion) { ); µb.saveWhitelist(); } + // https://github.com/gorhill/uBlock/issues/135#issuecomment-96677379 + // `about:loopconversation` is used by Firefox for its Hello service + if ( lastVersion.localeCompare('0.9.5.2') < 0 ) { + µb.netWhitelist = µb.whitelistFromString( + µb.stringFromWhitelist(µb.netWhitelist) + + '\n' + + 'loopconversation.about-scheme' + ); + µb.saveWhitelist(); + } if ( lastVersion !== vAPI.app.version ) { vAPI.storage.set({ version: vAPI.app.version }); } diff --git a/src/js/tab.js b/src/js/tab.js index c84f6faf6..af4a9f258 100644 --- a/src/js/tab.js +++ b/src/js/tab.js @@ -55,13 +55,15 @@ var µb = µBlock; return uri.normalizedURI(); } - var url = 'http://' + scheme + '-scheme/'; + var fakeHostname = scheme + '-scheme'; if ( uri.hostname !== '' ) { - url += uri.hostname + '/'; + fakeHostname = uri.hostname + '.' + fakeHostname; + } else if ( scheme === 'about' && uri.path !== '' ) { + fakeHostname = uri.path + '.' + fakeHostname; } - return url; + return 'http://' + fakeHostname + '/'; }; /******************************************************************************/