diff --git a/background.js b/background.js
index 0dfcc20..4d9e68a 100644
--- a/background.js
+++ b/background.js
@@ -26,8 +26,16 @@ function detectFeed(event) {
event.responseHeaders.splice(i, 1);
}
else if (event.responseHeaders[i].name.toLowerCase() == 'content-security-policy') {
- if (enableCss)
- event.responseHeaders[i].value = patchCSP(event.responseHeaders[i].value);
+
+ try {
+ let options = JSON.parse(localStorage.getItem('options'));
+
+ if (options.enableCss && options.bypassCSP)
+ event.responseHeaders[i].value = patchCSP(event.responseHeaders[i].value);
+ }
+ catch(e) {
+ console.log(e);
+ }
}
}
@@ -40,13 +48,11 @@ function detectFeed(event) {
}
return { responseHeaders: event.responseHeaders };
+
+
}
const browser = window.browser || window.chrome;
-let enableCss = false;
-browser.storage.sync.get({enableCss: false}).then(function(options) {
- enableCss = options.enableCss;
-})
browser.webRequest.onHeadersReceived.addListener(
detectFeed,
diff --git a/rsspreview.js b/rsspreview.js
index 74d3882..c397485 100644
--- a/rsspreview.js
+++ b/rsspreview.js
@@ -21,6 +21,7 @@
fullPreview: false,
doAuthor: false,
enableCss: false,
+ bypassCSP: false,
customCss: null,
newTab: true
};
diff --git a/settings/options.html b/settings/options.html
index 0078513..d6f4b82 100644
--- a/settings/options.html
+++ b/settings/options.html
@@ -30,6 +30,7 @@
+
diff --git a/settings/options.js b/settings/options.js
index 4441d39..3b8cb88 100644
--- a/settings/options.js
+++ b/settings/options.js
@@ -2,7 +2,7 @@
function saveOptions(e) {
e.preventDefault();
- browser.storage.sync.set({
+ let options = {
doThumb: document.querySelector("#doThumb").checked,
doMaxWidth: document.querySelector("#doMaxWidth").checked,
valMaxWidth: document.querySelector("#valMaxWidth").value,
@@ -12,9 +12,14 @@ function saveOptions(e) {
doAuthor: document.querySelector("#doAuthor").checked,
orangeIcon: document.querySelector("#orangeIcon").checked,
enableCss: document.querySelector("#enableCss").checked,
+ bypassCSP: document.querySelector("#bypassCSP").checked,
customCss: document.querySelector("#customCss").value,
newTab: document.querySelector("#newTab").checked
- });
+ };
+
+ browser.storage.sync.set(options);
+ localStorage.setItem('options', JSON.stringify(options));
+
}
@@ -30,8 +35,11 @@ function restoreOptions() {
document.querySelector("#doAuthor").checked = result.doAuthor;
document.querySelector("#orangeIcon").checked = result.orangeIcon;
document.querySelector("#enableCss").checked = result.enableCss;
+ document.querySelector("#bypassCSP").checked = result.bypassCSP;
document.querySelector("#customCss").value = result.customCss;
document.querySelector("#newTab").checked = result.newTab;
+
+ localStorage.setItem('options', JSON.stringify(result));
}
function onError(error) {
@@ -48,6 +56,7 @@ function restoreOptions() {
doAuthor: false,
orangeIcon: false,
enableCss: false,
+ bypassCSP: false,
customCss: null,
newTab: true
});