summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhackademix2018-08-19 01:30:14 +0200
committerhackademix2018-08-19 01:30:14 +0200
commit8e1dc9e0eed868eb6bf7924dd8fa33f7f5f66a57 (patch)
tree227d360299914a4ed4ee5af4c3b0d751ecca7e1d
parentcf8482116d4ef55a9692335c61a91e0360a0f421 (diff)
downloadnoscript-8e1dc9e0eed868eb6bf7924dd8fa33f7f5f66a57.tar.gz
noscript-8e1dc9e0eed868eb6bf7924dd8fa33f7f5f66a57.tar.xz
noscript-8e1dc9e0eed868eb6bf7924dd8fa33f7f5f66a57.zip
Fixed regression: refresh loop on page using requests of type="object" to cache images, stylesheets and other types.
-rw-r--r--src/bg/RequestGuard.js2
-rw-r--r--src/lib/LastListener.js2
2 files changed, 1 insertions, 3 deletions
diff --git a/src/bg/RequestGuard.js b/src/bg/RequestGuard.js
index 38801de..750e66f 100644
--- a/src/bg/RequestGuard.js
+++ b/src/bg/RequestGuard.js
@@ -481,7 +481,7 @@ var RequestGuard = (() => {
pending.headersProcessed ? "has been overridden on": "could not process",
request);
- if (tabId !== -1) {
+ if (tabId !== -1 && type !== "object") {
debug("[WARNING] Reloading %s frame %s of tab %s.", url, frameId, tabId);
browser.tabs.executeScript(tabId, {
runAt: "document_start",
diff --git a/src/lib/LastListener.js b/src/lib/LastListener.js
index 6506e32..b93edbc 100644
--- a/src/lib/LastListener.js
+++ b/src/lib/LastListener.js
@@ -20,10 +20,8 @@ class LastListener {
let w = (...args) => {
if (this.observed.hasListener(w._other)) {
this.observed.removeListener(w);
- if (this.last !== w) return this.defaultResult;
} else if (this.installed) {
this.observed.addListener(w._other, ...this.extras);
- this.last = w._other;
}
debug("Running listener", w === ww[0] ? 0 : 1, ...args);
return this.installed ? this.listener(...args)