1
0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2024-06-03 20:08:05 +02:00

Improved window intercepting.

This commit is contained in:
kkapsner 2017-10-10 21:11:50 +02:00
parent 68fb7730b9
commit e686b14106

View File

@ -81,10 +81,6 @@
var interceptedWindows = new WeakMap();
function interceptWindow(window){
if (!enabled || interceptedWindows.get(window)){
return false;
}
try {
var href = window.location.href;
}
@ -95,6 +91,10 @@
return false;
}
if (!enabled || interceptedWindows.get(getWrapped(window))){
return false;
}
message("intercepting window", window);
intercept(
{subject: window},
@ -112,7 +112,9 @@
configureable: true,
get: exportFunction(function(){
var window = oldContentWindowGetter.call(this);
interceptWindow(window);
if (window){
interceptWindow(window);
}
return window;
}, window)
}
@ -126,14 +128,16 @@
configureable: true,
get: exportFunction(function(){
var document = oldContentDocumentGetter.call(this);
interceptWindow(document.defaultView);
if (document){
interceptWindow(document.defaultView);
}
return document;
}, window)
}
);
});
interceptedWindows.set(window, true);
interceptedWindows.set(getWrapped(window), true);
return true;
}