mirror of https://github.com/gorhill/uBlock.git
Merge pull request #1348 from gorhill/chrisaljoudi
Fix for https://github.com/gorhill/uBlock/issues/162, https://github.com/gorhill/uBlock/issues/171
This commit is contained in:
commit
b380c9181e
|
@ -422,12 +422,8 @@ var buttonApplyHandler = function() {
|
||||||
|
|
||||||
renderBusyOverlay(true);
|
renderBusyOverlay(true);
|
||||||
|
|
||||||
var onReloadDone = function() {
|
|
||||||
messager.send({ what: 'reloadAllFilters' });
|
|
||||||
};
|
|
||||||
|
|
||||||
var onSelectionDone = function() {
|
var onSelectionDone = function() {
|
||||||
messager.send({ what: 'reloadAllFilters' }, onReloadDone);
|
messager.send({ what: 'reloadAllFilters' });
|
||||||
};
|
};
|
||||||
|
|
||||||
selectFilterLists(onSelectionDone);
|
selectFilterLists(onSelectionDone);
|
||||||
|
|
|
@ -255,9 +255,27 @@ var uBlockCollapser = (function() {
|
||||||
newRequests.push(new BouncingRequest(req.id, tagName, src));
|
newRequests.push(new BouncingRequest(req.id, tagName, src));
|
||||||
};
|
};
|
||||||
|
|
||||||
var addIFrame = function(iframe) {
|
var iframeSourceModified = function(mutations) {
|
||||||
|
var i = mutations.length;
|
||||||
|
while ( i-- ) {
|
||||||
|
addIFrame(mutations[i].target, true);
|
||||||
|
}
|
||||||
|
process();
|
||||||
|
};
|
||||||
|
var iframeSourceObserver = new MutationObserver(iframeSourceModified);
|
||||||
|
var iframeSourceObserverOptions = {
|
||||||
|
attributes: true,
|
||||||
|
attributeFilter: [ 'src' ]
|
||||||
|
};
|
||||||
|
|
||||||
|
var addIFrame = function(iframe, dontObserve) {
|
||||||
|
// https://github.com/gorhill/uBlock/issues/162
|
||||||
|
// Be prepared to deal with possible change of src attribute.
|
||||||
|
if ( dontObserve !== true ) {
|
||||||
|
iframeSourceObserver.observe(iframe, iframeSourceObserverOptions);
|
||||||
|
}
|
||||||
|
|
||||||
var src = iframe.src;
|
var src = iframe.src;
|
||||||
// TODO: niject content script in `about:blank` as well.
|
|
||||||
if ( src === '' || typeof src !== 'string' ) {
|
if ( src === '' || typeof src !== 'string' ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint bitwise: false */
|
/* jshint bitwise: false */
|
||||||
/* global vAPI, µBlock */
|
/* global µBlock */
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ PageStore.prototype.getNetFilteringSwitch = function() {
|
||||||
// https://github.com/chrisaljoudi/uBlock/issues/1078
|
// https://github.com/chrisaljoudi/uBlock/issues/1078
|
||||||
// Use both the raw and normalized URLs.
|
// Use both the raw and normalized URLs.
|
||||||
this.netFiltering = µb.getNetFilteringSwitch(tabContext.normalURL);
|
this.netFiltering = µb.getNetFilteringSwitch(tabContext.normalURL);
|
||||||
if ( this.netFiltering && tabContext.rawURL !== tabContext.pageURL ) {
|
if ( this.netFiltering && tabContext.rawURL !== tabContext.normalURL ) {
|
||||||
this.netFiltering = µb.getNetFilteringSwitch(tabContext.rawURL);
|
this.netFiltering = µb.getNetFilteringSwitch(tabContext.rawURL);
|
||||||
}
|
}
|
||||||
this.netFilteringReadTime = Date.now();
|
this.netFilteringReadTime = Date.now();
|
||||||
|
|
|
@ -180,6 +180,12 @@ var matchWhitelistDirective = function(url, hostname, directive) {
|
||||||
var line, matches, key, directive;
|
var line, matches, key, directive;
|
||||||
for ( var i = 0; i < lines.length; i++ ) {
|
for ( var i = 0; i < lines.length; i++ ) {
|
||||||
line = lines[i].trim();
|
line = lines[i].trim();
|
||||||
|
// https://github.com/gorhill/uBlock/issues/171
|
||||||
|
// Skip empty lines
|
||||||
|
if ( line === '' ) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Don't throw out commented out lines: user might want to fix them
|
// Don't throw out commented out lines: user might want to fix them
|
||||||
if ( line.charAt(0) === '#' ) {
|
if ( line.charAt(0) === '#' ) {
|
||||||
key = '#';
|
key = '#';
|
||||||
|
@ -208,9 +214,14 @@ var matchWhitelistDirective = function(url, hostname, directive) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://github.com/gorhill/uBlock/issues/171
|
||||||
|
// Skip empty keys
|
||||||
|
if ( key === '' ) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Be sure this stays fixed:
|
// Be sure this stays fixed:
|
||||||
// https://github.com/chrisaljoudi/uBlock/issues/185
|
// https://github.com/chrisaljoudi/uBlock/issues/185
|
||||||
|
|
||||||
if ( whitelist.hasOwnProperty(key) === false ) {
|
if ( whitelist.hasOwnProperty(key) === false ) {
|
||||||
whitelist[key] = [];
|
whitelist[key] = [];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue