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:
Chris Aljoudi 2015-05-05 22:14:57 -06:00
commit b380c9181e
4 changed files with 35 additions and 10 deletions

View File

@ -422,12 +422,8 @@ var buttonApplyHandler = function() {
renderBusyOverlay(true);
var onReloadDone = function() {
messager.send({ what: 'reloadAllFilters' });
};
var onSelectionDone = function() {
messager.send({ what: 'reloadAllFilters' }, onReloadDone);
messager.send({ what: 'reloadAllFilters' });
};
selectFilterLists(onSelectionDone);

View File

@ -255,9 +255,27 @@ var uBlockCollapser = (function() {
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;
// TODO: niject content script in `about:blank` as well.
if ( src === '' || typeof src !== 'string' ) {
return;
}

View File

@ -20,7 +20,7 @@
*/
/* jshint bitwise: false */
/* global vAPI, µBlock */
/* global µBlock */
/*******************************************************************************
@ -438,7 +438,7 @@ PageStore.prototype.getNetFilteringSwitch = function() {
// https://github.com/chrisaljoudi/uBlock/issues/1078
// Use both the raw and normalized URLs.
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.netFilteringReadTime = Date.now();

View File

@ -180,6 +180,12 @@ var matchWhitelistDirective = function(url, hostname, directive) {
var line, matches, key, directive;
for ( var i = 0; i < lines.length; i++ ) {
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
if ( line.charAt(0) === '#' ) {
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:
// https://github.com/chrisaljoudi/uBlock/issues/185
if ( whitelist.hasOwnProperty(key) === false ) {
whitelist[key] = [];
}