Browse Source

fixed content script's clean shutdown

pull/2/head
gorhill 10 years ago
parent
commit
b7e5a7bd44
  1. 9
      src/js/contentscript-end.js

9
src/js/contentscript-end.js

@ -259,7 +259,7 @@ var collapser = (function() {
} }
process(); process();
}; };
var iframeSourceObserver = new MutationObserver(iframeSourceModified);
var iframeSourceObserver = null;
var iframeSourceObserverOptions = { var iframeSourceObserverOptions = {
attributes: true, attributes: true,
attributeFilter: [ 'src' ] attributeFilter: [ 'src' ]
@ -269,6 +269,9 @@ var collapser = (function() {
// https://github.com/gorhill/uBlock/issues/162 // https://github.com/gorhill/uBlock/issues/162
// Be prepared to deal with possible change of src attribute. // Be prepared to deal with possible change of src attribute.
if ( dontObserve !== true ) { if ( dontObserve !== true ) {
if ( iframeSourceObserver === null ) {
iframeSourceObserver = new MutationObserver(iframeSourceModified);
}
iframeSourceObserver.observe(iframe, iframeSourceObserverOptions); iframeSourceObserver.observe(iframe, iframeSourceObserverOptions);
} }
// https://github.com/chrisaljoudi/uBlock/issues/174 // https://github.com/chrisaljoudi/uBlock/issues/174
@ -343,6 +346,10 @@ var collapser = (function() {
clearTimeout(timer); clearTimeout(timer);
timer = null; timer = null;
} }
if ( iframeSourceObserver !== null ) {
iframeSourceObserver.disconnect();
iframeSourceObserver = null;
}
document.removeEventListener('error', onResourceFailed, true); document.removeEventListener('error', onResourceFailed, true);
newRequests = []; newRequests = [];
pendingRequests = {}; pendingRequests = {};

Loading…
Cancel
Save