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); 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);

View File

@ -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;
} }

View File

@ -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();

View File

@ -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] = [];
} }