mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-04 20:46:39 +02:00
parent
0ce446cf52
commit
9ba9c48422
6 changed files with 25 additions and 33 deletions
|
@ -16,34 +16,25 @@
|
|||
const logging = require("./logging");
|
||||
const settings = require("./settings");
|
||||
|
||||
|
||||
const dataUrlFrames = new Set();
|
||||
scope.init = function(){
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
browser.webRequest.onHeadersReceived.addListener(
|
||||
function(details){
|
||||
if (
|
||||
details.url.startsWith("data:text")
|
||||
){
|
||||
dataUrlFrames.add(details.frameId);
|
||||
logging.message("Detected data URL", details);
|
||||
}
|
||||
else if (
|
||||
settings.blockRequestsFromDataURL &&
|
||||
dataUrlFrames.has(details.frameId)
|
||||
){
|
||||
logging.warning("Blocking request from data-URL frame.", details);
|
||||
if (
|
||||
settings.get("showNotifications")
|
||||
){
|
||||
browser.pageAction.show(details.tabId);
|
||||
}
|
||||
return {cancel: true};
|
||||
const headers = details.responseHeaders;
|
||||
if (settings.blockDataURLs){
|
||||
logging.verbose("Adding CSP header to", details);
|
||||
headers.push({
|
||||
name: "Content-Security-Policy",
|
||||
value: "object-src *; child-src *"
|
||||
});
|
||||
}
|
||||
return {
|
||||
responseHeaders: headers
|
||||
};
|
||||
},
|
||||
{
|
||||
urls: ["<all_urls>"]
|
||||
},
|
||||
["blocking"]
|
||||
["blocking", "responseHeaders"]
|
||||
);
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue