summaryrefslogtreecommitdiff
path: root/src/content
diff options
context:
space:
mode:
authorhackademix2019-10-31 23:52:54 +0100
committerhackademix2019-10-31 23:52:54 +0100
commit08a41b3a62c8621904e79ed4edf2039fffb45a64 (patch)
tree48d96157c7f2df9146637e14f23ef9f01868db6a /src/content
parent25fd1727b64635b23207446b671baa59ccfa55dc (diff)
downloadnoscript-08a41b3a62c8621904e79ed4edf2039fffb45a64.tar.gz
noscript-08a41b3a62c8621904e79ed4edf2039fffb45a64.tar.xz
noscript-08a41b3a62c8621904e79ed4edf2039fffb45a64.zip
Fixed bug in policy fetching.
Diffstat (limited to 'src/content')
-rw-r--r--src/content/staticNS.js21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/content/staticNS.js b/src/content/staticNS.js
index 8f447e7..1d00ecf 100644
--- a/src/content/staticNS.js
+++ b/src/content/staticNS.js
@@ -35,14 +35,27 @@
fetchPolicy() {
let url = document.URL;
- if (url.startsWith("http")) {
+ debug(`Fetching policy from document %s, readyState %s, content %s`,
+ url, document.readyState, document.documentElement.outerHTML);
+
+ if (!/^(?:file|ftp|https?):/i.test(url)) {
(async () => {
- this.setup(await Messages.send("fetchChildPolicy", {url, contextUrl: url}));
+ let policy;
+ try {
+ policy = await Messages.send("fetchChildPolicy", {url, contextUrl: url});
+ } catch (e) {
+ console.error("Error while fetching policy", e);
+ }
+ if (policy === undefined) {
+ log("Policy was undefined, retrying in 1/2 sec...");
+ setTimeout(() => this.fetchPolicy(), 500);
+ return;
+ }
+ this.setup(policy);
})();
return;
}
- debug(`Fetching policy from document %s, readyState %s, content %s`,
- url, document.readyState, document.documentElement.outerHTML);
+
let originalState = document.readyState;
let blockedScripts = [];