Merge pull request #1 from elliott-beach/patch-open2

block doubly-opening open
This commit is contained in:
Michael Zhang 2017-12-02 14:41:17 -06:00 committed by GitHub
commit 5a9b140ec8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 12 deletions

View File

@ -199,19 +199,22 @@
}
};
const oldWindowOpen = window.open;
const windowOpenProxy = new Proxy(window.open, {
apply: function (target, thisArg, argumentsList) {
console.log("window.open =", oldWindowOpen);
const wnd = oldWindowOpen.apply(thisArg, argumentsList);
featuresToBlock.forEach((v) => blockFeatureAtKeyPath(v, wnd));
return wnd;
}
});
Object.defineProperty(window, "open", {
get: () => windowOpenProxy
});
const blockOpen = function(window){
const oldWindowOpen = window.open;
const windowOpenProxy = new Proxy(window.open, {
apply: function (target, thisArg, argumentsList) {
const wnd = oldWindowOpen.apply(thisArg, argumentsList);
blockOpen(wnd);
featuresToBlock.forEach((v) => blockFeatureAtKeyPath(v, wnd));
return wnd;
}
});
Object.defineProperty(window, "open", {
get: () => windowOpenProxy
});
}
blockOpen(window);
featuresToBlock.forEach((v) => blockFeatureAtKeyPath(v));
// Next, delete the WEB_API_MANAGER_PAGE global property. Technically