1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-07 03:12:33 +01:00

Merge pull request #3 from yfdyh000/fix_issue_links_gorhill

Correct issue links
This commit is contained in:
Raymond Hill 2015-04-07 08:33:59 -04:00
commit 5758490daa
28 changed files with 164 additions and 164 deletions

View File

@ -67,7 +67,7 @@ info##DIV[class="banda-sticky-vp"]
info##DIV[class="banda-sticky-mini"] info##DIV[class="banda-sticky-mini"]
!Whitelist !Whitelist
! https://github.com/gorhill/uBlock/issues/693#issuecomment-72928751 ! https://github.com/chrisaljoudi/uBlock/issues/693#issuecomment-72928751
! @@||homebank.ro^$document ! @@||homebank.ro^$document
! @@||profitshare.emag.ro/get_ads.php?* ! @@||profitshare.emag.ro/get_ads.php?*
! @@||profitshare.ro/get_ads.php?* ! @@||profitshare.ro/get_ads.php?*

View File

@ -1,6 +1,6 @@
# Needed to unbreak sites affected by out of the box lists # Needed to unbreak sites affected by out of the box lists
# https://github.com/gorhill/uBlock/issues/20 # https://github.com/chrisaljoudi/uBlock/issues/20
# => blocking counterpart in Peter Lowe's Ad Server # => blocking counterpart in Peter Lowe's Ad Server
@@||www.google-analytics.com/ga.js^$domain=xda-developers.com @@||www.google-analytics.com/ga.js^$domain=xda-developers.com
@ -11,8 +11,8 @@
# Zerohedge: ref: http://forums.lanik.us/viewtopic.php?f=62&t=17307 # Zerohedge: ref: http://forums.lanik.us/viewtopic.php?f=62&t=17307
www.zerohedge.com##.similar-box www.zerohedge.com##.similar-box
# https://github.com/gorhill/uBlock/issues/57 # https://github.com/chrisaljoudi/uBlock/issues/57
# https://github.com/gorhill/uBlock/issues/98 # https://github.com/chrisaljoudi/uBlock/issues/98
# New filter class: entity filters, where # New filter class: entity filters, where
# entity = domain minus public suffix # entity = domain minus public suffix
# The following filters were taken out of EasyList and given an entity name, # The following filters were taken out of EasyList and given an entity name,
@ -61,7 +61,7 @@ google.*##.ra[width="30%"][align="right"] + table[width="70%"][cellpadding="0"]
google.*##.rhsvw[style="background-color:#fff;margin:0 0 14px;padding-bottom:1px;padding-top:1px;"] google.*##.rhsvw[style="background-color:#fff;margin:0 0 14px;padding-bottom:1px;padding-top:1px;"]
google.*##.rscontainer > .ellip google.*##.rscontainer > .ellip
# https://github.com/gorhill/uBlock/issues/381 # https://github.com/chrisaljoudi/uBlock/issues/381
google.*###sqh google.*###sqh
# For when javascript is disabled # For when javascript is disabled
@ -72,22 +72,22 @@ google.*###center_col > #tads
www.youtube.com##.masthead-ad-control www.youtube.com##.masthead-ad-control
www.youtube.com##.ad-div www.youtube.com##.ad-div
# https://github.com/gorhill/uBlock/issues/63 # https://github.com/chrisaljoudi/uBlock/issues/63
@@||adf.ly^$~third-party @@||adf.ly^$~third-party
# https://github.com/gorhill/uBlock/issues/69 # https://github.com/chrisaljoudi/uBlock/issues/69
@@||widget-cdn.rpxnow.com^$domain=foxnews.com,script @@||widget-cdn.rpxnow.com^$domain=foxnews.com,script
# https://github.com/gorhill/uBlock/issues/119 # https://github.com/chrisaljoudi/uBlock/issues/119
# To counter `google-analytics.com` in Peter Lowe's list # To counter `google-analytics.com` in Peter Lowe's list
@@||google-analytics.com^$domain=avianca.com @@||google-analytics.com^$domain=avianca.com
# https://github.com/gorhill/uBlock/issues/141 # https://github.com/chrisaljoudi/uBlock/issues/141
# Videos broken on weather.com # Videos broken on weather.com
# To counter `tags.tiqcdn.com` in MVPS # To counter `tags.tiqcdn.com` in MVPS
@@||tags.tiqcdn.com/utag/*.js$script,domain=cnet.com|weather.com @@||tags.tiqcdn.com/utag/*.js$script,domain=cnet.com|weather.com
# https://github.com/gorhill/uBlock/issues/17#issuecomment-51625306 # https://github.com/chrisaljoudi/uBlock/issues/17#issuecomment-51625306
# To counter `extras.mnginteractive.com` in hpHosts # To counter `extras.mnginteractive.com` in hpHosts
@@||extras.mnginteractive.com^$domain=mercurynews.com|denverpost.com|twincities.com @@||extras.mnginteractive.com^$domain=mercurynews.com|denverpost.com|twincities.com
@ -95,23 +95,23 @@ www.youtube.com##.ad-div
# To counter `statcounter.com` in Peter Lowe's, MVPS, Dan Pollock's and hpHosts # To counter `statcounter.com` in Peter Lowe's, MVPS, Dan Pollock's and hpHosts
@@||statcounter.com^$~third-party @@||statcounter.com^$~third-party
# https://github.com/gorhill/uBlock/issues/166 # https://github.com/chrisaljoudi/uBlock/issues/166
# To counter `liverail.com` in Peter Lowe's, MVPS, and hpHosts # To counter `liverail.com` in Peter Lowe's, MVPS, and hpHosts
@@||cdn-static.liverail.com^$object-subrequest @@||cdn-static.liverail.com^$object-subrequest
# cnet.com needs this for video players # cnet.com needs this for video players
# https://github.com/gorhill/uBlock/issues/227 # https://github.com/chrisaljoudi/uBlock/issues/227
# To counter `2mdn.net` in Peter Lowe's # To counter `2mdn.net` in Peter Lowe's
# To counter `s0.2mdn.net` in MVPS, hpHosts, Dan Pollock's # To counter `s0.2mdn.net` in MVPS, hpHosts, Dan Pollock's
@@||s0.2mdn.net/instream/*$domain=cnet.com|nfl.com|wistv.com @@||s0.2mdn.net/instream/*$domain=cnet.com|nfl.com|wistv.com
@@||s0.2mdn.net/instream/flash/v3/adsapi_3.swf$object @@||s0.2mdn.net/instream/flash/v3/adsapi_3.swf$object
# https://github.com/gorhill/uBlock/issues/243 # https://github.com/chrisaljoudi/uBlock/issues/243
# To counter `cdn-i.dmdentertainment.com` in hpHosts # To counter `cdn-i.dmdentertainment.com` in hpHosts
@@||cdn-i.dmdentertainment.com^$domain=cracked.com @@||cdn-i.dmdentertainment.com^$domain=cracked.com
# EasyList/EasyPrivacy fixes # EasyList/EasyPrivacy fixes
# https://github.com/gorhill/uBlock/issues/373 # https://github.com/chrisaljoudi/uBlock/issues/373
@@||omtrdc.net^$domain=www.amazon.com @@||omtrdc.net^$domain=www.amazon.com
# To counter `/b/ss/*&aqe=` and `||scorecardresearch.com^$third-party` in # To counter `/b/ss/*&aqe=` and `||scorecardresearch.com^$third-party` in
# EasyPrivacy: "cant click on next picture on this adreess ... " # EasyPrivacy: "cant click on next picture on this adreess ... "
@ -142,19 +142,19 @@ www.thesimsresource.com##.ad-topleader
# To counter `adm.fwmrm.net` from hpHosts, MVPS, Dan Pollock's # To counter `adm.fwmrm.net` from hpHosts, MVPS, Dan Pollock's
@@||adm.fwmrm.net^$domain=go.com @@||adm.fwmrm.net^$domain=go.com
# https://github.com/gorhill/uBlock/issues/274 # https://github.com/chrisaljoudi/uBlock/issues/274
# To counter `mopub.com` in Peter Lowe's # To counter `mopub.com` in Peter Lowe's
@@||mopub.com^$~third-party @@||mopub.com^$~third-party
# https://github.com/gorhill/uBlock/issues/293 # https://github.com/chrisaljoudi/uBlock/issues/293
# To counter `safelinking.net` in hpHosts # To counter `safelinking.net` in hpHosts
@@||safelinking.net^$~third-party @@||safelinking.net^$~third-party
# https://github.com/gorhill/uBlock/issues/302 # https://github.com/chrisaljoudi/uBlock/issues/302
# To counter `outbrain.com` in hpHosts # To counter `outbrain.com` in hpHosts
@@||outbrain.com^$~third-party @@||outbrain.com^$~third-party
# https://github.com/gorhill/uBlock/issues/316 # https://github.com/chrisaljoudi/uBlock/issues/316
# To counter `inc.com` in Peter Lowe's, hpHosts # To counter `inc.com` in Peter Lowe's, hpHosts
@@||inc.com^$~third-party @@||inc.com^$~third-party
@ -162,11 +162,11 @@ www.thesimsresource.com##.ad-topleader
# To counter Peter Lowe's `intergi.com` # To counter Peter Lowe's `intergi.com`
@@||intergi.com^$domain=tvgolo.com @@||intergi.com^$domain=tvgolo.com
# https://github.com/gorhill/uBlock/issues/336 # https://github.com/chrisaljoudi/uBlock/issues/336
# To counter `flurry.com` in Peter Lowe's, hpHosts, MVPS # To counter `flurry.com` in Peter Lowe's, hpHosts, MVPS
@@||flurry.com^$~third-party @@||flurry.com^$~third-party
# https://github.com/gorhill/uBlock/issues/374 # https://github.com/chrisaljoudi/uBlock/issues/374
# To counter `2mdn.net` in Peter Lowe's, `s0.2mdn.net` in hpHosts # To counter `2mdn.net` in Peter Lowe's, `s0.2mdn.net` in hpHosts
@@||s0.2mdn.net/instream/*$object,script,domain=wsmv.com @@||s0.2mdn.net/instream/*$object,script,domain=wsmv.com
@ -178,17 +178,17 @@ www.thesimsresource.com##.ad-topleader
# To counter `www.googletagservices.com` in MVPS, hpHosts, Dan Pollock's # To counter `www.googletagservices.com` in MVPS, hpHosts, Dan Pollock's
@@||www.googletagservices.com/tag/js/gpt.js^$script,domain=weather.com @@||www.googletagservices.com/tag/js/gpt.js^$script,domain=weather.com
# https://github.com/gorhill/uBlock/issues/409 # https://github.com/chrisaljoudi/uBlock/issues/409
@@||c.speedtest.net^$~third-party @@||c.speedtest.net^$~third-party
# To counter Peter Lowe's, hpHosts # To counter Peter Lowe's, hpHosts
@@||boldchat.com^$~third-party @@||boldchat.com^$~third-party
# https://github.com/gorhill/uBlock/issues/463 # https://github.com/chrisaljoudi/uBlock/issues/463
# To counter Peter Lowe's, hpHosts # To counter Peter Lowe's, hpHosts
@@||mixpanel.com^$~third-party @@||mixpanel.com^$~third-party
# https://github.com/gorhill/uBlock/issues/466 # https://github.com/chrisaljoudi/uBlock/issues/466
# Until fixed in EasyPrivacy # Until fixed in EasyPrivacy
@@/google-analytics-dashboard @@/google-analytics-dashboard
@ -204,7 +204,7 @@ ovh.strim.io#@##tweets
# To counter Dan Pollock's, hpHosts, MVPS, Peter Lowe's # To counter Dan Pollock's, hpHosts, MVPS, Peter Lowe's
@@||google-analytics.com/analytics.js$domain=www.vd.nl @@||google-analytics.com/analytics.js$domain=www.vd.nl
# https://github.com/gorhill/uBlock/issues/570 # https://github.com/chrisaljoudi/uBlock/issues/570
# To counter `yui.yahooapis.com` in hpHosts # To counter `yui.yahooapis.com` in hpHosts
@@||yui.yahooapis.com^ @@||yui.yahooapis.com^
@ -212,10 +212,10 @@ ovh.strim.io#@##tweets
# To counter `top.mail.ru` in Peter Lowe's # To counter `top.mail.ru` in Peter Lowe's
@@||top.mail.ru^$~third-party @@||top.mail.ru^$~third-party
# https://github.com/gorhill/uBlock/issues/510#issuecomment-71050211 # https://github.com/chrisaljoudi/uBlock/issues/510#issuecomment-71050211
||racksauce.com^$domain=promptfile.com ||racksauce.com^$domain=promptfile.com
# https://github.com/gorhill/uBlock/issues/510#issuecomment-71078475 # https://github.com/chrisaljoudi/uBlock/issues/510#issuecomment-71078475
|http://$popup,domain=filenuke.com|sharesix.com |http://$popup,domain=filenuke.com|sharesix.com
||filenuke.com/a/script.js$script ||filenuke.com/a/script.js$script
||mwem.filenuke.com/*/*$script ||mwem.filenuke.com/*/*$script
@ -228,15 +228,15 @@ ovh.strim.io#@##tweets
||lsg.sharesix.com/*/*$script ||lsg.sharesix.com/*/*$script
||nvy.sharesix.com/*/*$script ||nvy.sharesix.com/*/*$script
# https://github.com/gorhill/uBlock/issues/580 # https://github.com/chrisaljoudi/uBlock/issues/580
# To counter `liverail.com` in Dan Pollock's, hpHosts, MVPS, Peter Lowe's # To counter `liverail.com` in Dan Pollock's, hpHosts, MVPS, Peter Lowe's
@@||cdn-static.liverail.com$domain=9to5mac.com @@||cdn-static.liverail.com$domain=9to5mac.com
# https://github.com/gorhill/uBlock/issues/602 # https://github.com/chrisaljoudi/uBlock/issues/602
# To counter `/ads.css` in EasyList # To counter `/ads.css` in EasyList
@@||css.washingtonpost.com/*/ads.css$stylesheet,~third-party @@||css.washingtonpost.com/*/ads.css$stylesheet,~third-party
# https://github.com/gorhill/uBlock/issues/607 # https://github.com/chrisaljoudi/uBlock/issues/607
# To counter `||pcekspert.com^` in Peter Lowe's # To counter `||pcekspert.com^` in Peter Lowe's
@@||pcekspert.com^$~third-party @@||pcekspert.com^$~third-party
@ -244,22 +244,22 @@ ovh.strim.io#@##tweets
# To counter `||clickbank.com^` in Dan Pollock's, Peter Lowe's # To counter `||clickbank.com^` in Dan Pollock's, Peter Lowe's
@@||clickbank.com^$~third-party @@||clickbank.com^$~third-party
# https://github.com/gorhill/uBlock/issues/614 # https://github.com/chrisaljoudi/uBlock/issues/614
# To counter `awaps.yandex.ru` in hpHosts # To counter `awaps.yandex.ru` in hpHosts
# To counter `mc.yandex.ru` in hpHosts, MVPS # To counter `mc.yandex.ru` in hpHosts, MVPS
@@||awaps.yandex.ru^$domain=market.yandex.ru @@||awaps.yandex.ru^$domain=market.yandex.ru
@@||mc.yandex.ru^$domain=market.yandex.ru @@||mc.yandex.ru^$domain=market.yandex.ru
@@||yastatic.net/market-export/*/advert.js$domain=market.yandex.ru @@||yastatic.net/market-export/*/advert.js$domain=market.yandex.ru
# https://github.com/gorhill/uBlock/issues/618 # https://github.com/chrisaljoudi/uBlock/issues/618
deviantart.com##.dp-ad-chrome.dp-ad-visible deviantart.com##.dp-ad-chrome.dp-ad-visible
# https://github.com/gorhill/uBlock/issues/650 # https://github.com/chrisaljoudi/uBlock/issues/650
# https://github.com/gorhill/uBlock/issues/821 # https://github.com/chrisaljoudi/uBlock/issues/821
# To counter `google-analytics.com` in Dan Pollock's, hpHosts, MVPS, Peter Lowe's # To counter `google-analytics.com` in Dan Pollock's, hpHosts, MVPS, Peter Lowe's
@@||www.google-analytics.com/ga.js$domain=onlinetv.ru|zie.nl @@||www.google-analytics.com/ga.js$domain=onlinetv.ru|zie.nl
# https://github.com/gorhill/uBlock/issues/774 # https://github.com/chrisaljoudi/uBlock/issues/774
# To counter `carbonads.net` in Peter Lowe's # To counter `carbonads.net` in Peter Lowe's
@@||carbonads.net^$~third-party @@||carbonads.net^$~third-party
@ -270,12 +270,12 @@ deviantart.com##.dp-ad-chrome.dp-ad-visible
# To counter `2o7.net` in Peter Lowe's # To counter `2o7.net` in Peter Lowe's
@@||2o7.net^$domain=totaljobs.com @@||2o7.net^$domain=totaljobs.com
# https://github.com/gorhill/uBlock/issues/822 # https://github.com/chrisaljoudi/uBlock/issues/822
# https://github.com/gorhill/uBlock/issues/940 # https://github.com/chrisaljoudi/uBlock/issues/940
# To counter `google-analytics.com` in Dan Pollock's, hpHosts, MVPS, Peter Lowe's # To counter `google-analytics.com` in Dan Pollock's, hpHosts, MVPS, Peter Lowe's
@@||google-analytics.com^$domain=musixmatch.com|bikstok.sonymusicshop.dk @@||google-analytics.com^$domain=musixmatch.com|bikstok.sonymusicshop.dk
# https://github.com/gorhill/uBlock/issues/841 # https://github.com/chrisaljoudi/uBlock/issues/841
# To counter `quantcast.com` in hpHosts, Peter Lowe's # To counter `quantcast.com` in hpHosts, Peter Lowe's
@@||quantcast.com^$~third-party @@||quantcast.com^$~third-party

View File

@ -14,7 +14,7 @@ cdn.jsdelivr.net
cdnjs.cloudflare.com cdnjs.cloudflare.com
^cdnjs\.cloudflare\.com\/ajax\/libs\/ ^cdnjs\.cloudflare\.com\/ajax\/libs\/
code.jquery.com code.jquery.com
# https://github.com/gorhill/uBlock/issues/357 # https://github.com/chrisaljoudi/uBlock/issues/357
# Avoid CSS-based themes, because relative URLs won't work from # Avoid CSS-based themes, because relative URLs won't work from
# within a data: URI # within a data: URI
^code\.jquery\.com\/(?!.*\/themes\/.+\.css) ^code\.jquery\.com\/(?!.*\/themes\/.+\.css)
@ -27,7 +27,7 @@ netdna.bootstrapcdn.com
platform.twitter.com platform.twitter.com
^platform\.twitter\.com\/widgets\.js ^platform\.twitter\.com\/widgets\.js
# https://github.com/gorhill/uBlock/issues/270#issuecomment-57913228 # https://github.com/chrisaljoudi/uBlock/issues/270#issuecomment-57913228
# Ref: http://www.asp.net/ajax/cdn # Ref: http://www.asp.net/ajax/cdn
ajax.aspnetcdn.com ajax.aspnetcdn.com
# Avoid CSS-based themes, because relative URLs won't work from # Avoid CSS-based themes, because relative URLs won't work from

View File

@ -16,7 +16,7 @@
# Commenting it out allows me to enable this one out-of-the-box. # Commenting it out allows me to enable this one out-of-the-box.
# ||linkedin.com^$third-party,important # ||linkedin.com^$third-party,important
# https://github.com/gorhill/uBlock/issues/289 # https://github.com/chrisaljoudi/uBlock/issues/289
# Commented out, breaks to many sites. See: # Commented out, breaks to many sites. See:
# https://hg.adblockplus.org/easylist/rev/9f6e928c258a#l2.12 # https://hg.adblockplus.org/easylist/rev/9f6e928c258a#l2.12
# Users can still block this one through hpHosts, MVPS, Dan Pollock's or # Users can still block this one through hpHosts, MVPS, Dan Pollock's or

View File

@ -382,8 +382,8 @@ vAPI.tabs.injectScript = function(tabId, details, callback) {
// Must read: https://code.google.com/p/chromium/issues/detail?id=410868#c8 // Must read: https://code.google.com/p/chromium/issues/detail?id=410868#c8
// https://github.com/gorhill/uBlock/issues/19 // https://github.com/chrisaljoudi/uBlock/issues/19
// https://github.com/gorhill/uBlock/issues/207 // https://github.com/chrisaljoudi/uBlock/issues/207
// Since we may be called asynchronously, the tab id may not exist // Since we may be called asynchronously, the tab id may not exist
// anymore, so this ensures it does still exist. // anymore, so this ensures it does still exist.
@ -548,7 +548,7 @@ CallbackWrapper.prototype.init = function(port, request) {
}; };
CallbackWrapper.prototype.proxy = function(response) { CallbackWrapper.prototype.proxy = function(response) {
// https://github.com/gorhill/uBlock/issues/383 // https://github.com/chrisaljoudi/uBlock/issues/383
if ( this.messaging.ports.hasOwnProperty(this.port.name) ) { if ( this.messaging.ports.hasOwnProperty(this.port.name) ) {
this.port.postMessage({ this.port.postMessage({
requestId: this.request.requestId, requestId: this.request.requestId,
@ -585,7 +585,7 @@ vAPI.net.registerListeners = function() {
var tail = µburi.path.slice(-6); var tail = µburi.path.slice(-6);
var pos = tail.lastIndexOf('.'); var pos = tail.lastIndexOf('.');
// https://github.com/gorhill/uBlock/issues/862 // https://github.com/chrisaljoudi/uBlock/issues/862
// If no transposition possible, transpose to `object` as per // If no transposition possible, transpose to `object` as per
// Chromium bug 410382 (see below) // Chromium bug 410382 (see below)
if ( pos === -1 ) { if ( pos === -1 ) {
@ -706,7 +706,7 @@ vAPI.onLoadAllCompleted = function() {
while ( i-- ) { while ( i-- ) {
tab = tabs[i]; tab = tabs[i];
µb.bindTabToPageStats(tab.id, tab.url); µb.bindTabToPageStats(tab.id, tab.url);
// https://github.com/gorhill/uBlock/issues/129 // https://github.com/chrisaljoudi/uBlock/issues/129
scriptStart(tab.id); scriptStart(tab.id);
} }
}; };

View File

@ -34,7 +34,7 @@
var vAPI = self.vAPI = self.vAPI || {}; var vAPI = self.vAPI = self.vAPI || {};
var chrome = self.chrome; var chrome = self.chrome;
// https://github.com/gorhill/uBlock/issues/456 // https://github.com/chrisaljoudi/uBlock/issues/456
// Already injected? // Already injected?
if ( vAPI.vapiClientInjected ) { if ( vAPI.vapiClientInjected ) {
//console.debug('vapi-client.js already injected: skipping.'); //console.debug('vapi-client.js already injected: skipping.');

View File

@ -1339,7 +1339,7 @@ vAPI.net.registerListeners = function() {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/105 // https://github.com/chrisaljoudi/uBlock/issues/105
// Allow any kind of pages // Allow any kind of pages
vAPI.tabs.onNavigation({ vAPI.tabs.onNavigation({
frameId: 0, frameId: 0,
@ -1617,7 +1617,7 @@ vAPI.toolbarButton.onBeforeCreated = function(doc) {
updateTimer = null; updateTimer = null;
var body = iframe.contentDocument.body; var body = iframe.contentDocument.body;
panel.parentNode.style.maxWidth = 'none'; panel.parentNode.style.maxWidth = 'none';
// https://github.com/gorhill/uBlock/issues/730 // https://github.com/chrisaljoudi/uBlock/issues/730
// Voodoo programming: this recipe works // Voodoo programming: this recipe works
panel.style.height = iframe.style.height = body.clientHeight.toString() + 'px'; panel.style.height = iframe.style.height = body.clientHeight.toString() + 'px';
panel.style.width = iframe.style.width = body.clientWidth.toString() + 'px'; panel.style.width = iframe.style.width = body.clientWidth.toString() + 'px';
@ -1713,7 +1713,7 @@ vAPI.contextMenu.displayMenuItem = function({target}) {
var menuitem = doc.getElementById(vAPI.contextMenu.menuItemId); var menuitem = doc.getElementById(vAPI.contextMenu.menuItemId);
var currentURI = gContextMenu.browser.currentURI; var currentURI = gContextMenu.browser.currentURI;
// https://github.com/gorhill/uBlock/issues/105 // https://github.com/chrisaljoudi/uBlock/issues/105
// TODO: Should the element picker works on any kind of pages? // TODO: Should the element picker works on any kind of pages?
if ( !currentURI.schemeIs('http') && !currentURI.schemeIs('https') ) { if ( !currentURI.schemeIs('http') && !currentURI.schemeIs('https') ) {
menuitem.hidden = true; menuitem.hidden = true;

View File

@ -69,7 +69,7 @@ function allFiltersApplyHandler() {
/******************************************************************************/ /******************************************************************************/
var handleImportFilePicker = function() { var handleImportFilePicker = function() {
// https://github.com/gorhill/uBlock/issues/1004 // https://github.com/chrisaljoudi/uBlock/issues/1004
// Support extraction of filters from ABP backup file // Support extraction of filters from ABP backup file
var abpImporter = function(s) { var abpImporter = function(s) {
var reAbpExtractor = /\n\[Subscription\]\n+url=~[\x08-\x7E]+?\[Subscription filters\]([\x08-\x7E]*?)(?:\[Subscription\]|$)/ig; var reAbpExtractor = /\n\[Subscription\]\n+url=~[\x08-\x7E]+?\[Subscription filters\]([\x08-\x7E]*?)(?:\[Subscription\]|$)/ig;

View File

@ -115,7 +115,7 @@ var renderFilterLists = function() {
.replace('{{total}}', !isNaN(+entry.entryCount) ? renderNumber(entry.entryCount) : '?'); .replace('{{total}}', !isNaN(+entry.entryCount) ? renderNumber(entry.entryCount) : '?');
elem.text(text); elem.text(text);
// https://github.com/gorhill/uBlock/issues/104 // https://github.com/chrisaljoudi/uBlock/issues/104
var asset = listDetails.cache[listKey] || {}; var asset = listDetails.cache[listKey] || {};
// Update status // Update status

View File

@ -66,7 +66,7 @@ var exports = {
autoUpdate: true, autoUpdate: true,
autoUpdateDelay: 4 * oneDay, autoUpdateDelay: 4 * oneDay,
// https://github.com/gorhill/uBlock/issues/426 // https://github.com/chrisaljoudi/uBlock/issues/426
remoteFetchBarrier: 0 remoteFetchBarrier: 0
}; };
@ -354,7 +354,7 @@ var updateLocalChecksums = function() {
var getRepoMetadata = function(callback) { var getRepoMetadata = function(callback) {
callback = callback || nullFunc; callback = callback || nullFunc;
// https://github.com/gorhill/uBlock/issues/515 // https://github.com/chrisaljoudi/uBlock/issues/515
// Handle re-entrancy here, i.e. we MUST NOT tamper with the waiting list // Handle re-entrancy here, i.e. we MUST NOT tamper with the waiting list
// of callers, if any, except to add one at the end of the list. // of callers, if any, except to add one at the end of the list.
if ( repoMetadata !== null && repoMetadata.waiting.length !== 0 ) { if ( repoMetadata !== null && repoMetadata.waiting.length !== 0 ) {
@ -407,7 +407,7 @@ var getRepoMetadata = function(callback) {
updateLocalChecksums(); updateLocalChecksums();
} }
// Notify all waiting callers // Notify all waiting callers
// https://github.com/gorhill/uBlock/issues/515 // https://github.com/chrisaljoudi/uBlock/issues/515
// VERY IMPORTANT: because of re-entrancy, we MUST: // VERY IMPORTANT: because of re-entrancy, we MUST:
// - process the waiting callers in a FIFO manner // - process the waiting callers in a FIFO manner
// - not cache repoMetadata.waiting.length, we MUST use the live // - not cache repoMetadata.waiting.length, we MUST use the live
@ -534,7 +534,7 @@ var readLocalFile = function(path, callback) {
// Get the repository copy of a built-in asset. // Get the repository copy of a built-in asset.
var readRepoFile = function(path, callback) { var readRepoFile = function(path, callback) {
// https://github.com/gorhill/uBlock/issues/426 // https://github.com/chrisaljoudi/uBlock/issues/426
if ( exports.remoteFetchBarrier !== 0 ) { if ( exports.remoteFetchBarrier !== 0 ) {
readLocalFile(path, callback); readLocalFile(path, callback);
return; return;
@ -866,7 +866,7 @@ var readExternalAsset = function(path, callback) {
}; };
var onExternalFileLoaded = function() { var onExternalFileLoaded = function() {
// https://github.com/gorhill/uBlock/issues/708 // https://github.com/chrisaljoudi/uBlock/issues/708
// A successful download should never return an empty file: turn this // A successful download should never return an empty file: turn this
// into an error condition. // into an error condition.
if ( stringIsNotEmpty(this.responseText) === false ) { if ( stringIsNotEmpty(this.responseText) === false ) {
@ -1045,7 +1045,7 @@ exports.rmrf = function() {
exports.metadata = function(callback) { exports.metadata = function(callback) {
var out = {}; var out = {};
// https://github.com/gorhill/uBlock/issues/186 // https://github.com/chrisaljoudi/uBlock/issues/186
// We need to check cache obsolescence when both cache and repo meta data // We need to check cache obsolescence when both cache and repo meta data
// has been gathered. // has been gathered.
var checkCacheObsolescence = function() { var checkCacheObsolescence = function() {

View File

@ -66,7 +66,7 @@ return {
showIconBadge: true showIconBadge: true
}, },
// https://github.com/gorhill/uBlock/issues/180 // https://github.com/chrisaljoudi/uBlock/issues/180
// Whitelist directives need to be loaded once the PSL is available // Whitelist directives need to be loaded once the PSL is available
netWhitelist: {}, netWhitelist: {},
netWhitelistModifyTime: 0, netWhitelistModifyTime: 0,

View File

@ -31,7 +31,7 @@
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/464 // https://github.com/chrisaljoudi/uBlock/issues/464
if ( document instanceof HTMLDocument === false ) { if ( document instanceof HTMLDocument === false ) {
//console.debug('contentscript-end.js > not a HTLMDocument'); //console.debug('contentscript-end.js > not a HTLMDocument');
return false; return false;
@ -42,13 +42,13 @@ if ( !vAPI ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/587 // https://github.com/chrisaljoudi/uBlock/issues/587
// Pointless to execute without the start script having done its job. // Pointless to execute without the start script having done its job.
if ( !vAPI.contentscriptStartInjected ) { if ( !vAPI.contentscriptStartInjected ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/456 // https://github.com/chrisaljoudi/uBlock/issues/456
// Already injected? // Already injected?
if ( vAPI.contentscriptEndInjected ) { if ( vAPI.contentscriptEndInjected ) {
//console.debug('contentscript-end.js > content script already injected'); //console.debug('contentscript-end.js > content script already injected');
@ -63,7 +63,7 @@ var messager = vAPI.messaging.channel('contentscript-end.js');
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/789 // https://github.com/chrisaljoudi/uBlock/issues/789
// Be sure that specific cosmetic filters are still applied. // Be sure that specific cosmetic filters are still applied.
// Executed once, then flushed from memory. // Executed once, then flushed from memory.
@ -87,7 +87,7 @@ var messager = vAPI.messaging.channel('contentscript-end.js');
/******************************************************************************/ /******************************************************************************/
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/7 // https://github.com/chrisaljoudi/uBlock/issues/7
var uBlockCollapser = (function() { var uBlockCollapser = (function() {
var timer = null; var timer = null;
@ -136,18 +136,18 @@ var uBlockCollapser = (function() {
delete pendingRequests[request.id]; delete pendingRequests[request.id];
pendingRequestCount -= 1; pendingRequestCount -= 1;
// https://github.com/gorhill/uBlock/issues/869 // https://github.com/chrisaljoudi/uBlock/issues/869
if ( !request.collapse ) { if ( !request.collapse ) {
continue; continue;
} }
target = entry.target; target = entry.target;
// https://github.com/gorhill/uBlock/issues/399 // https://github.com/chrisaljoudi/uBlock/issues/399
// Never remove elements from the DOM, just hide them // Never remove elements from the DOM, just hide them
target.style.setProperty('display', 'none', 'important'); target.style.setProperty('display', 'none', 'important');
// https://github.com/gorhill/uBlock/issues/1048 // https://github.com/chrisaljoudi/uBlock/issues/1048
// Use attribute to construct CSS rule // Use attribute to construct CSS rule
if ( value = target.getAttribute(entry.attr) ) { if ( value = target.getAttribute(entry.attr) ) {
selectors.push(entry.tagName + '[' + entry.attr + '="' + value + '"]'); selectors.push(entry.tagName + '[' + entry.attr + '="' + value + '"]');
@ -200,7 +200,7 @@ var uBlockCollapser = (function() {
if ( prop === undefined ) { if ( prop === undefined ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/174 // https://github.com/chrisaljoudi/uBlock/issues/174
// Do not remove fragment from src URL // Do not remove fragment from src URL
var src = target[prop]; var src = target[prop];
if ( typeof src !== 'string' || src === '' ) { if ( typeof src !== 'string' || src === '' ) {
@ -278,7 +278,7 @@ var uBlockCollapser = (function() {
}, },
retrieveHandler retrieveHandler
); );
// https://github.com/gorhill/uBlock/issues/452 // https://github.com/chrisaljoudi/uBlock/issues/452
retrieveHandler = nextRetrieveHandler; retrieveHandler = nextRetrieveHandler;
} else { } else {
nextRetrieveHandler(null); nextRetrieveHandler(null);
@ -286,13 +286,13 @@ var uBlockCollapser = (function() {
lowGenericSelectors = []; lowGenericSelectors = [];
}; };
// https://github.com/gorhill/uBlock/issues/452 // https://github.com/chrisaljoudi/uBlock/issues/452
// This needs to be executed *after* the response from our query is // This needs to be executed *after* the response from our query is
// received, not at `DOMContentLoaded` time, or else there is a good // received, not at `DOMContentLoaded` time, or else there is a good
// likeliness to outrun contentscript-start.js, which may still be waiting // likeliness to outrun contentscript-start.js, which may still be waiting
// on a response from its own query. // on a response from its own query.
var firstRetrieveHandler = function(response) { var firstRetrieveHandler = function(response) {
// https://github.com/gorhill/uBlock/issues/158 // https://github.com/chrisaljoudi/uBlock/issues/158
// Ensure injected styles are enforced // Ensure injected styles are enforced
// rhill 2014-11-16: not sure this is needed anymore. Test case in // rhill 2014-11-16: not sure this is needed anymore. Test case in
// above issue was fine without the line below.. // above issue was fine without the line below..
@ -380,7 +380,7 @@ var uBlockCollapser = (function() {
}; };
var hideElements = function(selectors) { var hideElements = function(selectors) {
// https://github.com/gorhill/uBlock/issues/207 // https://github.com/chrisaljoudi/uBlock/issues/207
// Do not call querySelectorAll() using invalid CSS selectors // Do not call querySelectorAll() using invalid CSS selectors
if ( selectors.length === 0 ) { if ( selectors.length === 0 ) {
return; return;
@ -388,7 +388,7 @@ var uBlockCollapser = (function() {
if ( document.body === null ) { if ( document.body === null ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/158 // https://github.com/chrisaljoudi/uBlock/issues/158
// Using CSSStyleDeclaration.setProperty is more reliable // Using CSSStyleDeclaration.setProperty is more reliable
var elems = document.querySelectorAll(selectors); var elems = document.querySelectorAll(selectors);
var i = elems.length; var i = elems.length;
@ -626,7 +626,7 @@ var uBlockCollapser = (function() {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/618 // https://github.com/chrisaljoudi/uBlock/issues/618
// Following is to observe dynamically added iframes: // Following is to observe dynamically added iframes:
// - On Firefox, the iframes fails to fire a `load` event // - On Firefox, the iframes fails to fire a `load` event
@ -665,7 +665,7 @@ var uBlockCollapser = (function() {
} }
}; };
// https://github.com/gorhill/uBlock/issues/205 // https://github.com/chrisaljoudi/uBlock/issues/205
// Do not handle added node directly from within mutation observer. // Do not handle added node directly from within mutation observer.
var treeMutationObservedHandlerAsync = function(mutations) { var treeMutationObservedHandlerAsync = function(mutations) {
var iMutation = mutations.length; var iMutation = mutations.length;
@ -712,7 +712,7 @@ document.addEventListener('error', onResourceFailed, true);
/******************************************************************************/ /******************************************************************************/
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/7 // https://github.com/chrisaljoudi/uBlock/issues/7
// Executed only once // Executed only once

View File

@ -34,7 +34,7 @@
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/464 // https://github.com/chrisaljoudi/uBlock/issues/464
if ( document instanceof HTMLDocument === false ) { if ( document instanceof HTMLDocument === false ) {
//console.debug('contentscript-start.js > not a HTLMDocument'); //console.debug('contentscript-start.js > not a HTLMDocument');
return false; return false;
@ -46,7 +46,7 @@ if ( !vAPI ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/456 // https://github.com/chrisaljoudi/uBlock/issues/456
// Already injected? // Already injected?
if ( vAPI.contentscriptStartInjected ) { if ( vAPI.contentscriptStartInjected ) {
//console.debug('contentscript-start.js > content script already injected'); //console.debug('contentscript-start.js > content script already injected');
@ -77,7 +77,7 @@ var cosmeticFilters = function(details) {
donthideCosmeticFilters[donthide[i]] = true; donthideCosmeticFilters[donthide[i]] = true;
} }
} }
// https://github.com/gorhill/uBlock/issues/143 // https://github.com/chrisaljoudi/uBlock/issues/143
if ( hide.length !== 0 ) { if ( hide.length !== 0 ) {
i = hide.length; i = hide.length;
var selector; var selector;
@ -135,7 +135,7 @@ var filteringHandler = function(details) {
// the browser to flush this script from memory. // the browser to flush this script from memory.
} }
// https://github.com/gorhill/uBlock/issues/587 // https://github.com/chrisaljoudi/uBlock/issues/587
// If no filters were found, maybe the script was injected before uBlock's // If no filters were found, maybe the script was injected before uBlock's
// process was fully initialized. When this happens, pages won't be // process was fully initialized. When this happens, pages won't be
// cleaned right after browser launch. // cleaned right after browser launch.
@ -149,7 +149,7 @@ var hideElements = function(selectors) {
if ( document.body === null ) { if ( document.body === null ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/158 // https://github.com/chrisaljoudi/uBlock/issues/158
// Using CSSStyleDeclaration.setProperty is more reliable // Using CSSStyleDeclaration.setProperty is more reliable
var elems = document.querySelectorAll(selectors); var elems = document.querySelectorAll(selectors);
var i = elems.length; var i = elems.length;

View File

@ -407,7 +407,7 @@ SelectorCacheEntry.prototype.add = function(selectors, type) {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/420 // https://github.com/chrisaljoudi/uBlock/issues/420
SelectorCacheEntry.prototype.remove = function(type) { SelectorCacheEntry.prototype.remove = function(type) {
this.lastAccessTime = Date.now(); this.lastAccessTime = Date.now();
if ( type === undefined || type === 'cosmetic' ) { if ( type === undefined || type === 'cosmetic' ) {
@ -561,7 +561,7 @@ FilterContainer.prototype.reset = function() {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/1004 // https://github.com/chrisaljoudi/uBlock/issues/1004
// Detect and report invalid CSS selectors. // Detect and report invalid CSS selectors.
FilterContainer.prototype.div = document.createElement('div'); FilterContainer.prototype.div = document.createElement('div');
@ -612,7 +612,7 @@ FilterContainer.prototype.compile = function(s, out) {
return true; return true;
} }
// https://github.com/gorhill/uBlock/issues/151 // https://github.com/chrisaljoudi/uBlock/issues/151
// Negated hostname means the filter applies to all non-negated hostnames // Negated hostname means the filter applies to all non-negated hostnames
// of same filter OR globally if there is no non-negated hostnames. // of same filter OR globally if there is no non-negated hostnames.
var applyGlobally = true; var applyGlobally = true;
@ -640,7 +640,7 @@ FilterContainer.prototype.compile = function(s, out) {
FilterContainer.prototype.compileGenericSelector = function(parsed, out) { FilterContainer.prototype.compileGenericSelector = function(parsed, out) {
var selector = parsed.suffix; var selector = parsed.suffix;
// https://github.com/gorhill/uBlock/issues/497 // https://github.com/chrisaljoudi/uBlock/issues/497
// All generic exception filters are put in the same bucket: they are // All generic exception filters are put in the same bucket: they are
// expected to be very rare. // expected to be very rare.
if ( parsed.unhide ) { if ( parsed.unhide ) {
@ -715,7 +715,7 @@ FilterContainer.prototype.reHighMedium = /^\[href\^="https?:\/\/([^"]{8})[^"]*"\
/******************************************************************************/ /******************************************************************************/
FilterContainer.prototype.compileHostnameSelector = function(hostname, parsed, out) { FilterContainer.prototype.compileHostnameSelector = function(hostname, parsed, out) {
// https://github.com/gorhill/uBlock/issues/145 // https://github.com/chrisaljoudi/uBlock/issues/145
var unhide = parsed.unhide; var unhide = parsed.unhide;
if ( hostname.charAt(0) === '~' ) { if ( hostname.charAt(0) === '~' ) {
hostname = hostname.slice(1); hostname = hostname.slice(1);
@ -728,7 +728,7 @@ FilterContainer.prototype.compileHostnameSelector = function(hostname, parsed, o
hostname = this.punycode.toASCII(hostname); hostname = this.punycode.toASCII(hostname);
} }
// https://github.com/gorhill/uBlock/issues/188 // https://github.com/chrisaljoudi/uBlock/issues/188
// If not a real domain as per PSL, assign a synthetic one // If not a real domain as per PSL, assign a synthetic one
var hash; var hash;
var domain = this.µburi.domainFromHostname(hostname); var domain = this.µburi.domainFromHostname(hostname);
@ -854,7 +854,7 @@ FilterContainer.prototype.fromCompiledContent = function(text, lineBeg, skip) {
continue; continue;
} }
// https://github.com/gorhill/uBlock/issues/497 // https://github.com/chrisaljoudi/uBlock/issues/497
// Generic exception filters: expected to be a rare occurrence. // Generic exception filters: expected to be a rare occurrence.
if ( fields[0] === 'g1' ) { if ( fields[0] === 'g1' ) {
this.genericDonthide.push(fields[1]); this.genericDonthide.push(fields[1]);
@ -1125,7 +1125,7 @@ FilterContainer.prototype.retrieveGenericSelectors = function(request) {
hideHigh: this.highHighGenericHide, hideHigh: this.highHighGenericHide,
hideHighCount: this.highHighGenericHideCount hideHighCount: this.highHighGenericHideCount
}; };
// https://github.com/gorhill/uBlock/issues/497 // https://github.com/chrisaljoudi/uBlock/issues/497
r.donthide = this.genericDonthide; r.donthide = this.genericDonthide;
} }
@ -1170,7 +1170,7 @@ FilterContainer.prototype.retrieveDomainSelectors = function(request) {
var domain = µb.URI.domainFromHostname(hostname) || hostname; var domain = µb.URI.domainFromHostname(hostname) || hostname;
var pos = domain.indexOf('.'); var pos = domain.indexOf('.');
// https://github.com/gorhill/uBlock/issues/587 // https://github.com/chrisaljoudi/uBlock/issues/587
// r.ready will tell the content script the cosmetic filtering engine is // r.ready will tell the content script the cosmetic filtering engine is
// up and ready. // up and ready.
@ -1190,7 +1190,7 @@ FilterContainer.prototype.retrieveDomainSelectors = function(request) {
if ( bucket = this.hostnameFilters[hash] ) { if ( bucket = this.hostnameFilters[hash] ) {
bucket.retrieve(hostname, r.cosmeticHide); bucket.retrieve(hostname, r.cosmeticHide);
} }
// https://github.com/gorhill/uBlock/issues/188 // https://github.com/chrisaljoudi/uBlock/issues/188
// Special bucket for those filters without a valid domain name as per PSL // Special bucket for those filters without a valid domain name as per PSL
if ( bucket = this.hostnameFilters[this.type0NoDomainHash] ) { if ( bucket = this.hostnameFilters[this.type0NoDomainHash] ) {
bucket.retrieve(hostname, r.cosmeticHide); bucket.retrieve(hostname, r.cosmeticHide);
@ -1207,7 +1207,7 @@ FilterContainer.prototype.retrieveDomainSelectors = function(request) {
bucket.retrieve(hostname, r.cosmeticDonthide); bucket.retrieve(hostname, r.cosmeticDonthide);
} }
// https://github.com/gorhill/uBlock/issues/188 // https://github.com/chrisaljoudi/uBlock/issues/188
// Special bucket for those filters without a valid domain name as per PSL // Special bucket for those filters without a valid domain name as per PSL
if ( bucket = this.hostnameFilters[this.type1NoDomainHash] ) { if ( bucket = this.hostnameFilters[this.type1NoDomainHash] ) {
bucket.retrieve(hostname, r.cosmeticDonthide); bucket.retrieve(hostname, r.cosmeticDonthide);

View File

@ -97,7 +97,7 @@ function handleImportFilePicker() {
if ( typeof this.result !== 'string' || this.result === '' ) { if ( typeof this.result !== 'string' || this.result === '' ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/757 // https://github.com/chrisaljoudi/uBlock/issues/757
// Support RequestPolicy rule syntax // Support RequestPolicy rule syntax
var result = this.result; var result = this.result;
var matches = /\[origins-to-destinations\]([^\[]+)/.exec(result); var matches = /\[origins-to-destinations\]([^\[]+)/.exec(result);

View File

@ -545,7 +545,7 @@ Matrix.prototype.fromString = function(text, append) {
srcHostname = punycode.toASCII(fields[0]); srcHostname = punycode.toASCII(fields[0]);
desHostname = punycode.toASCII(fields[1]); desHostname = punycode.toASCII(fields[1]);
// https://github.com/gorhill/uBlock/issues/1082 // https://github.com/chrisaljoudi/uBlock/issues/1082
// Discard rules with invalid hostnames // Discard rules with invalid hostnames
if ( (srcHostname !== '*' && reBadHostname.test(srcHostname)) || if ( (srcHostname !== '*' && reBadHostname.test(srcHostname)) ||
(desHostname !== '*' && reBadHostname.test(desHostname)) (desHostname !== '*' && reBadHostname.test(desHostname))
@ -558,7 +558,7 @@ Matrix.prototype.fromString = function(text, append) {
continue; continue;
} }
// https://github.com/gorhill/uBlock/issues/840 // https://github.com/chrisaljoudi/uBlock/issues/840
// Discard invalid rules // Discard invalid rules
if ( desHostname !== '*' && type !== '*' ) { if ( desHostname !== '*' && type !== '*' ) {
continue; continue;

View File

@ -428,7 +428,7 @@ var cosmeticFilterFromElement = function(elem, out) {
var selector = prefix + suffix.join(''); var selector = prefix + suffix.join('');
// https://github.com/gorhill/uBlock/issues/637 // https://github.com/chrisaljoudi/uBlock/issues/637
// If the selector is still ambiguous at this point, further narrow using // If the selector is still ambiguous at this point, further narrow using
// `nth-of-type`. It is preferable to use `nth-of-type` as opposed to // `nth-of-type`. It is preferable to use `nth-of-type` as opposed to
// `nth-child`, as `nth-of-type` is less volatile. // `nth-child`, as `nth-of-type` is less volatile.
@ -497,7 +497,7 @@ var elementsFromFilter = function(filter) {
// Net filters: we need to lookup manually -- translating into a // Net filters: we need to lookup manually -- translating into a
// foolproof CSS selector is just not possible // foolproof CSS selector is just not possible
// https://github.com/gorhill/uBlock/issues/945 // https://github.com/chrisaljoudi/uBlock/issues/945
// Transform into a regular expression, this allows the user to edit and // Transform into a regular expression, this allows the user to edit and
// insert wildcard(s) into the proposed filter // insert wildcard(s) into the proposed filter
var reStr = ''; var reStr = '';
@ -743,7 +743,7 @@ var onSvgHovered = function(ev) {
/******************************************************************************/ /******************************************************************************/
var onSvgClicked = function(ev) { var onSvgClicked = function(ev) {
// https://github.com/gorhill/uBlock/issues/810#issuecomment-74600694 // https://github.com/chrisaljoudi/uBlock/issues/810#issuecomment-74600694
// Unpause picker if user click outside dialog // Unpause picker if user click outside dialog
if ( dialog.parentNode.classList.contains('paused') ) { if ( dialog.parentNode.classList.contains('paused') ) {
unpausePicker(); unpausePicker();
@ -777,7 +777,7 @@ var onKeyPressed = function(ev) {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/190 // https://github.com/chrisaljoudi/uBlock/issues/190
// May need to dynamically adjust the height of the overlay + new position // May need to dynamically adjust the height of the overlay + new position
// of highlighted elements. // of highlighted elements.

View File

@ -38,7 +38,7 @@ var onMessage = function(request, sender, callback) {
// Async // Async
switch ( request.what ) { switch ( request.what ) {
case 'getAssetContent': case 'getAssetContent':
// https://github.com/gorhill/uBlock/issues/417 // https://github.com/chrisaljoudi/uBlock/issues/417
µb.assets.get(request.url, callback); µb.assets.get(request.url, callback);
return; return;
@ -317,7 +317,7 @@ var onMessage = function(request, sender, callback) {
return; return;
} }
vAPI.tabs.get(request.tabId, function(tab) { vAPI.tabs.get(request.tabId, function(tab) {
// https://github.com/gorhill/uBlock/issues/1012 // https://github.com/chrisaljoudi/uBlock/issues/1012
callback(getStats(getTargetTabId(tab), tab ? tab.title : '')); callback(getStats(getTargetTabId(tab), tab ? tab.title : ''));
}); });
return; return;
@ -856,7 +856,7 @@ var onMessage = function(request, sender, callback) {
break; break;
case 'setSessionFirewallRules': case 'setSessionFirewallRules':
// https://github.com/gorhill/uBlock/issues/772 // https://github.com/chrisaljoudi/uBlock/issues/772
µb.cosmeticFilteringEngine.removeFromSelectorCache('*'); µb.cosmeticFilteringEngine.removeFromSelectorCache('*');
µb.sessionFirewall.fromString(request.rules); µb.sessionFirewall.fromString(request.rules);
@ -1115,7 +1115,7 @@ var restoreUserData = function(request) {
}, onCountdown); }, onCountdown);
}; };
// https://github.com/gorhill/uBlock/issues/1102 // https://github.com/chrisaljoudi/uBlock/issues/1102
// Ensure all currently cached assets are flushed from storage AND memory. // Ensure all currently cached assets are flushed from storage AND memory.
µb.assets.rmrf(); µb.assets.rmrf();

View File

@ -193,7 +193,7 @@ var toUrlKey = function(url) {
if ( matches === null ) { if ( matches === null ) {
continue; continue;
} }
// https://github.com/gorhill/uBlock/issues/301 // https://github.com/chrisaljoudi/uBlock/issues/301
// Use whole URL as key when no regex capture // Use whole URL as key when no regex capture
return matches.length === 1 ? url : matches[1]; return matches.length === 1 ? url : matches[1];
} }
@ -204,7 +204,7 @@ var toUrlKey = function(url) {
// Ref: http://www.iana.org/assignments/media-types/media-types.xhtml // Ref: http://www.iana.org/assignments/media-types/media-types.xhtml
// https://github.com/gorhill/uBlock/issues/362 // https://github.com/chrisaljoudi/uBlock/issues/362
// //
// Using http://dev.w3.org/2006/webapi/FileAPI/#enctype logic, at least it's // Using http://dev.w3.org/2006/webapi/FileAPI/#enctype logic, at least it's
// something... It looks like this is what the browser should be doing with // something... It looks like this is what the browser should be doing with

View File

@ -472,7 +472,7 @@ PageStore.prototype.init = function(tabId, rawURL, pageURL) {
this.pageURL = pageURL; this.pageURL = pageURL;
this.pageHostname = µb.URI.hostnameFromURI(pageURL); this.pageHostname = µb.URI.hostnameFromURI(pageURL);
// https://github.com/gorhill/uBlock/issues/185 // https://github.com/chrisaljoudi/uBlock/issues/185
// Use hostname if no domain can be extracted // Use hostname if no domain can be extracted
this.pageDomain = µb.URI.domainFromHostname(this.pageHostname) || this.pageHostname; this.pageDomain = µb.URI.domainFromHostname(this.pageHostname) || this.pageHostname;
this.rootHostname = this.pageHostname; this.rootHostname = this.pageHostname;
@ -531,7 +531,7 @@ PageStore.prototype.reuse = function(rawURL, pageURL, context) {
this.rawURL = rawURL; this.rawURL = rawURL;
this.pageURL = pageURL; this.pageURL = pageURL;
// As part of https://github.com/gorhill/uBlock/issues/405 // As part of https://github.com/chrisaljoudi/uBlock/issues/405
// URL changed, force a re-evaluation of filtering switch // URL changed, force a re-evaluation of filtering switch
this.netFilteringReadTime = 0; this.netFilteringReadTime = 0;
@ -599,7 +599,7 @@ PageStore.prototype.setFrame = function(frameId, frameURL) {
/******************************************************************************/ /******************************************************************************/
PageStore.prototype.getNetFilteringSwitch = function() { PageStore.prototype.getNetFilteringSwitch = function() {
// https://github.com/gorhill/uBlock/issues/1078 // https://github.com/chrisaljoudi/uBlock/issues/1078
// Use both the raw and normalized URLs. // Use both the raw and normalized URLs.
if ( this.netFilteringReadTime < µb.netWhitelistModifyTime ) { if ( this.netFilteringReadTime < µb.netWhitelistModifyTime ) {
this.netFiltering = µb.getNetFilteringSwitch(this.pageURL); this.netFiltering = µb.getNetFilteringSwitch(this.pageURL);
@ -749,7 +749,7 @@ PageStore.prototype.logRequest = function(context, result) {
/******************************************************************************/ /******************************************************************************/
PageStore.prototype.toMirrorURL = function(requestURL) { PageStore.prototype.toMirrorURL = function(requestURL) {
// https://github.com/gorhill/uBlock/issues/351 // https://github.com/chrisaljoudi/uBlock/issues/351
// Bypass experimental features when uBlock is disabled for a site // Bypass experimental features when uBlock is disabled for a site
if ( µb.userSettings.experimentalEnabled === false || if ( µb.userSettings.experimentalEnabled === false ||
this.getNetFilteringSwitch() === false || this.getNetFilteringSwitch() === false ||

View File

@ -52,7 +52,7 @@ document.getElementById('saveRules').style.setProperty(
(document.getElementById('gotoPrefs').getBoundingClientRect().bottom + 4) + 'px' (document.getElementById('gotoPrefs').getBoundingClientRect().bottom + 4) + 'px'
); );
// https://github.com/gorhill/uBlock/issues/996 // https://github.com/chrisaljoudi/uBlock/issues/996
// Experimental: mitigate glitchy popup UI: immediately set the firewall pane // Experimental: mitigate glitchy popup UI: immediately set the firewall pane
// visibility to its last known state. By default the pane is hidden. // visibility to its last known state. By default the pane is hidden.
// Will remove if it makes no difference. // Will remove if it makes no difference.
@ -246,7 +246,7 @@ var updateFirewallCell = function(scope, des, type, rule) {
var aCount = hnDetails.allowCount; var aCount = hnDetails.allowCount;
var bCount = hnDetails.blockCount; var bCount = hnDetails.blockCount;
if ( aCount !== 0 || bCount !== 0 ) { if ( aCount !== 0 || bCount !== 0 ) {
// https://github.com/gorhill/uBlock/issues/471 // https://github.com/chrisaljoudi/uBlock/issues/471
aCount = Math.min(Math.ceil(Math.log(aCount + 1) / Math.LN10), 3); aCount = Math.min(Math.ceil(Math.log(aCount + 1) / Math.LN10), 3);
bCount = Math.min(Math.ceil(Math.log(bCount + 1) / Math.LN10), 3); bCount = Math.min(Math.ceil(Math.log(bCount + 1) / Math.LN10), 3);
textNode.nodeValue = threePlus.slice(0, aCount) + textNode.nodeValue = threePlus.slice(0, aCount) +
@ -264,7 +264,7 @@ var updateFirewallCell = function(scope, des, type, rule) {
aCount = hnDetails.totalAllowCount; aCount = hnDetails.totalAllowCount;
bCount = hnDetails.totalBlockCount; bCount = hnDetails.totalBlockCount;
if ( aCount !== 0 || bCount !== 0 ) { if ( aCount !== 0 || bCount !== 0 ) {
// https://github.com/gorhill/uBlock/issues/471 // https://github.com/chrisaljoudi/uBlock/issues/471
aCount = Math.min(Math.ceil(Math.log(aCount + 1) / Math.LN10), 3); aCount = Math.min(Math.ceil(Math.log(aCount + 1) / Math.LN10), 3);
bCount = Math.min(Math.ceil(Math.log(bCount + 1) / Math.LN10), 3); bCount = Math.min(Math.ceil(Math.log(bCount + 1) / Math.LN10), 3);
textNode.nodeValue = threePlus.slice(0, aCount) + textNode.nodeValue = threePlus.slice(0, aCount) +
@ -436,11 +436,11 @@ var renderPopup = function() {
uDom('#noStrictBlocking').toggleClass('on', popupData.noStrictBlocking === true); uDom('#noStrictBlocking').toggleClass('on', popupData.noStrictBlocking === true);
uDom('#noCosmeticFiltering').toggleClass('on', popupData.noCosmeticFiltering === true); uDom('#noCosmeticFiltering').toggleClass('on', popupData.noCosmeticFiltering === true);
// https://github.com/gorhill/uBlock/issues/470 // https://github.com/chrisaljoudi/uBlock/issues/470
// This must be done here, to be sure the popup is resized properly // This must be done here, to be sure the popup is resized properly
var dfPaneVisible = popupData.dfEnabled && popupData.advancedUserEnabled; var dfPaneVisible = popupData.dfEnabled && popupData.advancedUserEnabled;
// https://github.com/gorhill/uBlock/issues/1068 // https://github.com/chrisaljoudi/uBlock/issues/1068
// Remember the last state of the firewall pane. This allows to // Remember the last state of the firewall pane. This allows to
// configure the popup size early next time it is opened, which means a // configure the popup size early next time it is opened, which means a
// less glitchy popup at open time. // less glitchy popup at open time.
@ -541,7 +541,7 @@ var toggleFirewallPane = function() {
value: popupData.dfEnabled value: popupData.dfEnabled
}); });
// https://github.com/gorhill/uBlock/issues/996 // https://github.com/chrisaljoudi/uBlock/issues/996
// Remember the last state of the firewall pane. This allows to // Remember the last state of the firewall pane. This allows to
// configure the popup size early next time it is opened, which means a // configure the popup size early next time it is opened, which means a
// less glitchy popup at open time. // less glitchy popup at open time.
@ -639,7 +639,7 @@ var reloadTab = function() {
// Polling will take care of refreshing the popup content // Polling will take care of refreshing the popup content
// https://github.com/gorhill/uBlock/issues/748 // https://github.com/chrisaljoudi/uBlock/issues/748
// User forces a reload, assume the popup has to be updated regardless if // User forces a reload, assume the popup has to be updated regardless if
// there were changes or not. // there were changes or not.
popupData.contentLastModified = -1; popupData.contentLastModified = -1;

View File

@ -42,7 +42,7 @@ var µb = µBlock;
// - Schedule next update operation. // - Schedule next update operation.
var onAllReady = function() { var onAllReady = function() {
// https://github.com/gorhill/uBlock/issues/184 // https://github.com/chrisaljoudi/uBlock/issues/184
// Check for updates not too far in the future. // Check for updates not too far in the future.
µb.assetUpdater.onStart.addEventListener(µb.updateStartHandler.bind(µb)); µb.assetUpdater.onStart.addEventListener(µb.updateStartHandler.bind(µb));
µb.assetUpdater.onCompleted.addEventListener(µb.updateCompleteHandler.bind(µb)); µb.assetUpdater.onCompleted.addEventListener(µb.updateCompleteHandler.bind(µb));
@ -104,7 +104,7 @@ var onSelfieReady = function(selfie) {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/226 // https://github.com/chrisaljoudi/uBlock/issues/226
// Whitelist in memory. // Whitelist in memory.
// Whitelist parser needs PSL to be ready. // Whitelist parser needs PSL to be ready.
// gorhill 2014-12-15: not anymore // gorhill 2014-12-15: not anymore
@ -123,13 +123,13 @@ var onUserSettingsReady = function(fetched) {
fromFetch(userSettings, fetched); fromFetch(userSettings, fetched);
// https://github.com/gorhill/uBlock/issues/426 // https://github.com/chrisaljoudi/uBlock/issues/426
// Important: block remote fetching for when loading assets at launch // Important: block remote fetching for when loading assets at launch
// time. // time.
µb.assets.autoUpdate = userSettings.autoUpdate; µb.assets.autoUpdate = userSettings.autoUpdate;
µb.assets.autoUpdateDelay = µb.updateAssetsEvery; µb.assets.autoUpdateDelay = µb.updateAssetsEvery;
// https://github.com/gorhill/uBlock/issues/540 // https://github.com/chrisaljoudi/uBlock/issues/540
// Disabling local mirroring for the time being // Disabling local mirroring for the time being
userSettings.experimentalEnabled = false; userSettings.experimentalEnabled = false;
µb.mirrors.toggle(false /* userSettings.experimentalEnabled */); µb.mirrors.toggle(false /* userSettings.experimentalEnabled */);

View File

@ -176,7 +176,7 @@ var alwaysTruePseudoRegex = {
}; };
var strToRegex = function(s, anchor) { var strToRegex = function(s, anchor) {
// https://github.com/gorhill/uBlock/issues/1038 // https://github.com/chrisaljoudi/uBlock/issues/1038
// Special case: always match. // Special case: always match.
if ( s === '*' ) { if ( s === '*' ) {
return alwaysTruePseudoRegex; return alwaysTruePseudoRegex;
@ -533,7 +533,7 @@ FilterPlainRightAnchoredHostname.fromSelfie = function(s) {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/235 // https://github.com/chrisaljoudi/uBlock/issues/235
// The filter is left-anchored somewhere within the hostname part of the URL. // The filter is left-anchored somewhere within the hostname part of the URL.
var FilterPlainHnAnchored = function(s) { var FilterPlainHnAnchored = function(s) {
@ -1228,7 +1228,7 @@ FilterParser.prototype.reset = function() {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/589 // https://github.com/chrisaljoudi/uBlock/issues/589
// Be ready to handle multiple negated types // Be ready to handle multiple negated types
FilterParser.prototype.parseOptType = function(raw, not) { FilterParser.prototype.parseOptType = function(raw, not) {
@ -1379,7 +1379,7 @@ FilterParser.prototype.parse = function(raw) {
} }
} }
// https://github.com/gorhill/uBlock/issues/1096 // https://github.com/chrisaljoudi/uBlock/issues/1096
if ( s.charAt(0) === '^' ) { if ( s.charAt(0) === '^' ) {
this.unsupported = true; this.unsupported = true;
return this; return this;
@ -1484,7 +1484,7 @@ FilterParser.prototype.makeToken = function() {
var s = this.f; var s = this.f;
// https://github.com/gorhill/uBlock/issues/1038 // https://github.com/chrisaljoudi/uBlock/issues/1038
// Match any URL. // Match any URL.
if ( s === '*' ) { if ( s === '*' ) {
this.token = '*'; this.token = '*';
@ -1729,7 +1729,7 @@ FilterContainer.prototype.compile = function(raw, out) {
} }
// Pure hostnames, use more efficient liquid dict // Pure hostnames, use more efficient liquid dict
// https://github.com/gorhill/uBlock/issues/665 // https://github.com/chrisaljoudi/uBlock/issues/665
// Create a dict keyed on request type etc. // Create a dict keyed on request type etc.
if ( parsed.hostnamePure && this.compileHostnameOnlyFilter(parsed, out) ) { if ( parsed.hostnamePure && this.compileHostnameOnlyFilter(parsed, out) ) {
return true; return true;
@ -1838,7 +1838,7 @@ FilterContainer.prototype.compileFilter = function(parsed, out) {
if ( filterClass === null ) { if ( filterClass === null ) {
return false; return false;
} }
// https://github.com/gorhill/uBlock/issues/251 // https://github.com/chrisaljoudi/uBlock/issues/251
// Apply third-party option if it is present // Apply third-party option if it is present
this.compileToAtomicFilter(filterClass, parsed, party, out); this.compileToAtomicFilter(filterClass, parsed, party, out);
} }
@ -1856,7 +1856,7 @@ FilterContainer.prototype.compileFilter = function(parsed, out) {
if ( filterClass === null ) { if ( filterClass === null ) {
return false; return false;
} }
// https://github.com/gorhill/uBlock/issues/191#issuecomment-53654024 // https://github.com/chrisaljoudi/uBlock/issues/191#issuecomment-53654024
// If it is a block filter, we need to reverse the order of // If it is a block filter, we need to reverse the order of
// evaluation. // evaluation.
if ( parsed.action === BlockAction ) { if ( parsed.action === BlockAction ) {
@ -1985,7 +1985,7 @@ FilterContainer.prototype.tokenize = function(url) {
tokenEntry.token = matches[0]; tokenEntry.token = matches[0];
i += 1; i += 1;
// https://github.com/gorhill/uBlock/issues/1118 // https://github.com/chrisaljoudi/uBlock/issues/1118
// Crazy case... but I guess we have to expect the worst... // Crazy case... but I guess we have to expect the worst...
if ( i === 2048 ) { if ( i === 2048 ) {
break; break;
@ -2037,7 +2037,7 @@ FilterContainer.prototype.matchTokens = function(bucket, url) {
// Specialized handlers // Specialized handlers
// https://github.com/gorhill/uBlock/issues/116 // https://github.com/chrisaljoudi/uBlock/issues/116
// Some type of requests are exceptional, they need custom handling, // Some type of requests are exceptional, they need custom handling,
// not the generic handling. // not the generic handling.
@ -2062,7 +2062,7 @@ FilterContainer.prototype.matchStringExactType = function(context, requestURL, r
// Tokenize only once // Tokenize only once
this.tokenize(url); this.tokenize(url);
// https://github.com/gorhill/uBlock/issues/139 // https://github.com/chrisaljoudi/uBlock/issues/139
// Test against important block filters // Test against important block filters
if ( bucket = categories[this.makeCategoryKey(BlockAnyParty | Important | type)] ) { if ( bucket = categories[this.makeCategoryKey(BlockAnyParty | Important | type)] ) {
bf = this.matchTokens(bucket, url); bf = this.matchTokens(bucket, url);
@ -2112,7 +2112,7 @@ FilterContainer.prototype.matchStringExactType = function(context, requestURL, r
/******************************************************************************/ /******************************************************************************/
FilterContainer.prototype.matchString = function(context) { FilterContainer.prototype.matchString = function(context) {
// https://github.com/gorhill/uBlock/issues/519 // https://github.com/chrisaljoudi/uBlock/issues/519
// Use exact type match for anything beyond `other` // Use exact type match for anything beyond `other`
// Also, be prepared to support unknown types // Also, be prepared to support unknown types
var type = typeNameToTypeValue[context.requestType] || typeOtherValue; var type = typeNameToTypeValue[context.requestType] || typeOtherValue;
@ -2161,7 +2161,7 @@ FilterContainer.prototype.matchString = function(context) {
var bf = false; var bf = false;
// https://github.com/gorhill/uBlock/issues/139 // https://github.com/chrisaljoudi/uBlock/issues/139
// Test against important block filters. // Test against important block filters.
// The purpose of the `important` option is to reverse the order of // The purpose of the `important` option is to reverse the order of
// evaluation. Normally, it is "evaluate block then evaluate allow", with // evaluation. Normally, it is "evaluate block then evaluate allow", with

View File

@ -154,7 +154,7 @@
if ( details.error ) { if ( details.error ) {
return; return;
} }
// https://github.com/gorhill/uBlock/issues/976 // https://github.com/chrisaljoudi/uBlock/issues/976
// If we reached this point, the filter quite probably needs to be // If we reached this point, the filter quite probably needs to be
// added for sure: do not try to be too smart, trying to avoid // added for sure: do not try to be too smart, trying to avoid
// duplicates at this point may lead to more issues. // duplicates at this point may lead to more issues.
@ -171,7 +171,7 @@
var relocationMap = {}; var relocationMap = {};
var fixLocation = function(location) { var fixLocation = function(location) {
// https://github.com/gorhill/uBlock/issues/418 // https://github.com/chrisaljoudi/uBlock/issues/418
// We now support built-in external filter lists // We now support built-in external filter lists
if ( /^https?:/.test(location) === false ) { if ( /^https?:/.test(location) === false ) {
location = 'assets/thirdparties/' + location; location = 'assets/thirdparties/' + location;
@ -208,7 +208,7 @@
} }
// This may happen if the list name was pulled from the list // This may happen if the list name was pulled from the list
// content. // content.
// https://github.com/gorhill/uBlock/issues/982 // https://github.com/chrisaljoudi/uBlock/issues/982
// There is no guarantee the title was successfully extracted from // There is no guarantee the title was successfully extracted from
// the list content. // the list content.
if ( availableEntry.title === '' && if ( availableEntry.title === '' &&

View File

@ -34,7 +34,7 @@
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/464 // https://github.com/chrisaljoudi/uBlock/issues/464
if ( document instanceof HTMLDocument === false ) { if ( document instanceof HTMLDocument === false ) {
//console.debug('subscriber.js > not a HTLMDocument'); //console.debug('subscriber.js > not a HTLMDocument');
return; return;
@ -109,7 +109,7 @@ var onAbpLinkClicked = function(ev) {
} }
// List already subscribed to? // List already subscribed to?
// https://github.com/gorhill/uBlock/issues/1033 // https://github.com/chrisaljoudi/uBlock/issues/1033
// Split on line separators, not whitespaces. // Split on line separators, not whitespaces.
var externalLists = details.externalLists.trim().split(/\s*[\n\r]+\s*/); var externalLists = details.externalLists.trim().split(/\s*[\n\r]+\s*/);
if ( externalLists.indexOf(location) !== -1 ) { if ( externalLists.indexOf(location) !== -1 ) {

View File

@ -44,7 +44,7 @@ vAPI.tabs.onNavigation = function(details) {
} }
var pageStore = µb.bindTabToPageStats(details.tabId, details.url, 'afterNavigate'); var pageStore = µb.bindTabToPageStats(details.tabId, details.url, 'afterNavigate');
// https://github.com/gorhill/uBlock/issues/630 // https://github.com/chrisaljoudi/uBlock/issues/630
// The hostname of the bound document must always be present in the // The hostname of the bound document must always be present in the
// mini-matrix. That's the best place I could find for the fix, all other // mini-matrix. That's the best place I could find for the fix, all other
// options had bad side-effects or complications. // options had bad side-effects or complications.
@ -83,7 +83,7 @@ vAPI.tabs.onClosed = function(tabId) {
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/297 // https://github.com/chrisaljoudi/uBlock/issues/297
vAPI.tabs.onPopup = function(details) { vAPI.tabs.onPopup = function(details) {
//console.debug('vAPI.tabs.onPopup: details = %o', details); //console.debug('vAPI.tabs.onPopup: details = %o', details);
@ -131,8 +131,8 @@ vAPI.tabs.onPopup = function(details) {
result = 'ub:noPopups true'; result = 'ub:noPopups true';
} }
// https://github.com/gorhill/uBlock/issues/323 // https://github.com/chrisaljoudi/uBlock/issues/323
// https://github.com/gorhill/uBlock/issues/1142 // https://github.com/chrisaljoudi/uBlock/issues/1142
// If popup OR opener URL is whitelisted, do not block the popup // If popup OR opener URL is whitelisted, do not block the popup
if ( if (
result === '' && result === '' &&
@ -142,7 +142,7 @@ vAPI.tabs.onPopup = function(details) {
result = µb.staticNetFilteringEngine.matchStringExactType(context, targetURL, 'popup'); result = µb.staticNetFilteringEngine.matchStringExactType(context, targetURL, 'popup');
} }
// https://github.com/gorhill/uBlock/issues/91 // https://github.com/chrisaljoudi/uBlock/issues/91
if ( pageStore ) { if ( pageStore ) {
pageStore.logRequest(context, result); pageStore.logRequest(context, result);
} }
@ -222,7 +222,7 @@ vAPI.tabs.registerListeners();
return this.pageStores[tabId] = this.PageStore.factory(tabId, pageURL, normalURL); return this.pageStores[tabId] = this.PageStore.factory(tabId, pageURL, normalURL);
} }
// https://github.com/chrisaljoudi/uBlock/issues/1176 // https://github.com/chrisaljoudi/uBlock/issues/516
// Never rebind behind-the-scene scope // Never rebind behind-the-scene scope
if ( vAPI.isBehindTheSceneTabId(tabId) ) { if ( vAPI.isBehindTheSceneTabId(tabId) ) {
return pageStore; return pageStore;
@ -283,7 +283,7 @@ vAPI.tabs.registerListeners();
/******************************************************************************/ /******************************************************************************/
// Stale page store entries janitor // Stale page store entries janitor
// https://github.com/gorhill/uBlock/issues/455 // https://github.com/chrisaljoudi/uBlock/issues/455
var pageStoreJanitorPeriod = 15 * 60 * 1000; var pageStoreJanitorPeriod = 15 * 60 * 1000;
var pageStoreJanitorSampleAt = 0; var pageStoreJanitorSampleAt = 0;

View File

@ -33,7 +33,7 @@
var exports = {}; var exports = {};
// https://github.com/gorhill/uBlock/issues/1001 // https://github.com/chrisaljoudi/uBlock/issues/1001
// This is to be used as last-resort fallback in case a tab is found to not // This is to be used as last-resort fallback in case a tab is found to not
// be bound while network requests are fired for the tab. // be bound while network requests are fired for the tab.
@ -52,7 +52,7 @@ var onBeforeRequest = function(details) {
//console.debug('µBlock.webRequest/onBeforeRequest(): "type=%s, id=%d, parent id=%d, url=%s', details.type, details.frameId, details.parentFrameId, details.url); //console.debug('µBlock.webRequest/onBeforeRequest(): "type=%s, id=%d, parent id=%d, url=%s', details.type, details.frameId, details.parentFrameId, details.url);
// Special handling for root document. // Special handling for root document.
// https://github.com/gorhill/uBlock/issues/1001 // https://github.com/chrisaljoudi/uBlock/issues/1001
// This must be executed regardless of whether the request is // This must be executed regardless of whether the request is
// behind-the-scene // behind-the-scene
var requestType = details.type; var requestType = details.type;
@ -70,14 +70,14 @@ var onBeforeRequest = function(details) {
var µb = µBlock; var µb = µBlock;
var pageStore = µb.pageStoreFromTabId(tabId); var pageStore = µb.pageStoreFromTabId(tabId);
if ( !pageStore ) { if ( !pageStore ) {
// https://github.com/gorhill/uBlock/issues/1025 // https://github.com/chrisaljoudi/uBlock/issues/1025
// Google Hangout popup opens without a root frame. So for now we will // Google Hangout popup opens without a root frame. So for now we will
// just discard that best-guess root frame if it is too far in the // just discard that best-guess root frame if it is too far in the
// future, at which point it ceases to be a "best guess". // future, at which point it ceases to be a "best guess".
if ( (Date.now() - mostRecentRootDocURLTimestamp) >= 500 ) { if ( (Date.now() - mostRecentRootDocURLTimestamp) >= 500 ) {
mostRecentRootDocURL = ''; mostRecentRootDocURL = '';
} }
// https://github.com/gorhill/uBlock/issues/1001 // https://github.com/chrisaljoudi/uBlock/issues/1001
// Not a behind-the-scene request, yet no page store found for the // Not a behind-the-scene request, yet no page store found for the
// tab id: we will thus bind the last-seen root document to the // tab id: we will thus bind the last-seen root document to the
// unbound tab. It's a guess, but better than ending up filtering // unbound tab. It's a guess, but better than ending up filtering
@ -97,10 +97,10 @@ var onBeforeRequest = function(details) {
} }
} }
// https://github.com/gorhill/uBlock/issues/114 // https://github.com/chrisaljoudi/uBlock/issues/114
var requestContext = pageStore; var requestContext = pageStore;
var frameStore; var frameStore;
// https://github.com/gorhill/uBlock/issues/886 // https://github.com/chrisaljoudi/uBlock/issues/886
// For requests of type `sub_frame`, the parent frame id must be used // For requests of type `sub_frame`, the parent frame id must be used
// to lookup the proper context: // to lookup the proper context:
// > If the document of a (sub-)frame is loaded (type is main_frame or // > If the document of a (sub-)frame is loaded (type is main_frame or
@ -129,7 +129,7 @@ var onBeforeRequest = function(details) {
if ( µb.isAllowResult(result) ) { if ( µb.isAllowResult(result) ) {
//console.debug('traffic.js > onBeforeRequest(): ALLOW "%s" (%o) because "%s"', details.url, details, result); //console.debug('traffic.js > onBeforeRequest(): ALLOW "%s" (%o) because "%s"', details.url, details, result);
// https://github.com/gorhill/uBlock/issues/114 // https://github.com/chrisaljoudi/uBlock/issues/114
frameId = details.frameId; frameId = details.frameId;
if ( frameId > 0 ) { if ( frameId > 0 ) {
if ( isFrame ) { if ( isFrame ) {
@ -141,7 +141,7 @@ var onBeforeRequest = function(details) {
// https://code.google.com/p/chromium/issues/detail?id=387198 // https://code.google.com/p/chromium/issues/detail?id=387198
// Not all redirects will succeed, until bug above is fixed. // Not all redirects will succeed, until bug above is fixed.
// https://github.com/gorhill/uBlock/issues/540 // https://github.com/chrisaljoudi/uBlock/issues/540
// Disabling local mirroring for the time being // Disabling local mirroring for the time being
//var redirectURL = pageStore.toMirrorURL(requestURL); //var redirectURL = pageStore.toMirrorURL(requestURL);
//if ( redirectURL !== '' ) { //if ( redirectURL !== '' ) {
@ -160,13 +160,13 @@ var onBeforeRequest = function(details) {
pageStore.logRequest(requestContext, result); pageStore.logRequest(requestContext, result);
// https://github.com/gorhill/uBlock/issues/905#issuecomment-76543649 // https://github.com/chrisaljoudi/uBlock/issues/905#issuecomment-76543649
// No point updating the badge if it's not being displayed. // No point updating the badge if it's not being displayed.
if ( µb.userSettings.showIconBadge ) { if ( µb.userSettings.showIconBadge ) {
µb.updateBadgeAsync(tabId); µb.updateBadgeAsync(tabId);
} }
// https://github.com/gorhill/uBlock/issues/18 // https://github.com/chrisaljoudi/uBlock/issues/18
// Do not use redirection, we need to block outright to be sure the request // Do not use redirection, we need to block outright to be sure the request
// will not be made. There can be no such guarantee with redirection. // will not be made. There can be no such guarantee with redirection.
@ -182,7 +182,7 @@ var onBeforeRootFrameRequest = function(details) {
mostRecentRootDocURLTimestamp = Date.now(); mostRecentRootDocURLTimestamp = Date.now();
// Special handling for root document. // Special handling for root document.
// https://github.com/gorhill/uBlock/issues/1001 // https://github.com/chrisaljoudi/uBlock/issues/1001
// This must be executed regardless of whether the request is // This must be executed regardless of whether the request is
// behind-the-scene // behind-the-scene
var µb = µBlock; var µb = µBlock;
@ -214,7 +214,7 @@ var onBeforeRootFrameRequest = function(details) {
// Filtering // Filtering
if ( result === '' && µb.getNetFilteringSwitch(requestURL) ) { if ( result === '' && µb.getNetFilteringSwitch(requestURL) ) {
result = µb.staticNetFilteringEngine.matchString(context); result = µb.staticNetFilteringEngine.matchString(context);
// https://github.com/gorhill/uBlock/issues/1128 // https://github.com/chrisaljoudi/uBlock/issues/1128
// Do not block if the match begins after the hostname. // Do not block if the match begins after the hostname.
if ( result !== '' ) { if ( result !== '' ) {
result = toBlockDocResult(requestURL, requestHostname, result); result = toBlockDocResult(requestURL, requestHostname, result);
@ -364,8 +364,8 @@ var onHeadersReceived = function(details) {
} }
} }
// https://github.com/gorhill/uBlock/issues/384 // https://github.com/chrisaljoudi/uBlock/issues/384
// https://github.com/gorhill/uBlock/issues/540 // https://github.com/chrisaljoudi/uBlock/issues/540
// Disabling local mirroring for the time being // Disabling local mirroring for the time being
//if ( details.parentFrameId === -1 ) { //if ( details.parentFrameId === -1 ) {
// pageStore.skipLocalMirroring = headerStartsWith(details.responseHeaders, 'content-security-policy') !== ''; // pageStore.skipLocalMirroring = headerStartsWith(details.responseHeaders, 'content-security-policy') !== '';
@ -373,7 +373,7 @@ var onHeadersReceived = function(details) {
var requestHostname = details.hostname; var requestHostname = details.hostname;
// https://github.com/gorhill/uBlock/issues/525 // https://github.com/chrisaljoudi/uBlock/issues/525
// When we are dealing with the root frame, due to fix to issue #516, it // When we are dealing with the root frame, due to fix to issue #516, it
// is likely the root frame has not been bound yet to the tab, and thus // is likely the root frame has not been bound yet to the tab, and thus
// we could end up using the context of the previous page for filtering. // we could end up using the context of the previous page for filtering.

View File

@ -29,7 +29,7 @@
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/405 // https://github.com/chrisaljoudi/uBlock/issues/405
// Be more flexible with whitelist syntax // Be more flexible with whitelist syntax
// Any special regexp char will be escaped // Any special regexp char will be escaped
@ -209,7 +209,7 @@ var matchWhitelistDirective = function(url, hostname, directive) {
} }
// Be sure this stays fixed: // Be sure this stays fixed:
// https://github.com/gorhill/uBlock/issues/185 // https://github.com/chrisaljoudi/uBlock/issues/185
if ( whitelist.hasOwnProperty(key) === false ) { if ( whitelist.hasOwnProperty(key) === false ) {
whitelist[key] = []; whitelist[key] = [];
@ -262,7 +262,7 @@ var matchWhitelistDirective = function(url, hostname, directive) {
break; break;
case 'experimentalEnabled': case 'experimentalEnabled':
if ( typeof this.mirrors === 'object' ) { if ( typeof this.mirrors === 'object' ) {
// https://github.com/gorhill/uBlock/issues/540 // https://github.com/chrisaljoudi/uBlock/issues/540
// Disabling local mirroring for the time being // Disabling local mirroring for the time being
this.mirrors.toggle(false /* value */); this.mirrors.toggle(false /* value */);
} }
@ -290,7 +290,7 @@ var matchWhitelistDirective = function(url, hostname, directive) {
this.sessionFirewall.unsetCell(details.srcHostname, details.desHostname, details.requestType); this.sessionFirewall.unsetCell(details.srcHostname, details.desHostname, details.requestType);
} }
// https://github.com/gorhill/uBlock/issues/731#issuecomment-73937469 // https://github.com/chrisaljoudi/uBlock/issues/731#issuecomment-73937469
if ( details.persist ) { if ( details.persist ) {
if ( details.action !== 0 ) { if ( details.action !== 0 ) {
this.permanentFirewall.setCellZ(details.srcHostname, details.desHostname, details.requestType, details.action); this.permanentFirewall.setCellZ(details.srcHostname, details.desHostname, details.requestType, details.action);
@ -300,7 +300,7 @@ var matchWhitelistDirective = function(url, hostname, directive) {
this.savePermanentFirewallRules(); this.savePermanentFirewallRules();
} }
// https://github.com/gorhill/uBlock/issues/420 // https://github.com/chrisaljoudi/uBlock/issues/420
this.cosmeticFilteringEngine.removeFromSelectorCache(details.srcHostname, 'net'); this.cosmeticFilteringEngine.removeFromSelectorCache(details.srcHostname, 'net');
}; };