diff options
author | hackademix | 2018-07-07 01:28:20 +0200 |
---|---|---|
committer | hackademix | 2018-07-07 01:28:20 +0200 |
commit | 0ad5f95eb479f8450058333541631640fc8ee4bb (patch) | |
tree | ce3d5029a07f26579c53750e5e868f5f3684cdb5 /src/bg/RequestUtil.js | |
parent | 093b9d724ecfe22989f6f68ac8114b5dfa639360 (diff) | |
download | noscript-0ad5f95eb479f8450058333541631640fc8ee4bb.tar.gz noscript-0ad5f95eb479f8450058333541631640fc8ee4bb.tar.xz noscript-0ad5f95eb479f8450058333541631640fc8ee4bb.zip |
Fixed dynamic script injection breaking images shown as frame content.
Diffstat (limited to 'src/bg/RequestUtil.js')
-rw-r--r-- | src/bg/RequestUtil.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/bg/RequestUtil.js b/src/bg/RequestUtil.js index d010f2b..39b1bf7 100644 --- a/src/bg/RequestUtil.js +++ b/src/bg/RequestUtil.js @@ -1,6 +1,7 @@ 'use strict'; { let NULL = new Uint8Array(); + let brokenOnLoad = (async () => parseInt(await browser.runtime.getBrowserInfo().version) < 61); let pendingRequests = new Map(); let cleanup = r => { @@ -59,7 +60,7 @@ let content = this.getContentMetaData(request); debug(request.url, content.type); - if (/\bxml\b/.test(content.type) && !/\bhtml\b/.test(content.type)) return; + if (/^[\w/+-]*\b(xml|image)\b/i.test(content.type) && !/\bhtml\b/i.test(content.type)) return; let filter = browser.webRequest.filterResponseData(requestId); let buffer = []; @@ -76,8 +77,10 @@ } }; - filter.onstart = event => { - filter.write(NULL); + if (brokenOnLoad) { + filter.onstart = event => { + filter.write(NULL); + } } filter.ondata = event => { |