Merge pull request #7 from wanhose/4.0.3

4.0.3
This commit is contained in:
wanhose 2021-06-27 13:21:39 +02:00 committed by GitHub
commit e95987f6a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 66 additions and 67 deletions

View File

@ -603,7 +603,6 @@ div[data-is-cookieinfo]
#site-cookie-policy
#privacy_bandeau
#AdBlockerInfo
.fbar
#cookie--disclaimer
#cookieNonsense
#cookie-confirm-box

View File

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "Do Not Consent",
"version": "4.0.2",
"version": "4.0.3",
"default_locale": "en",
"description": "__MSG_appDesc__",
"icons": {

View File

@ -79,7 +79,6 @@ const enablePopup = (tabId) => {
};
/**
* @async
* @function getCache
* @description Retrieves cache state
*
@ -88,7 +87,7 @@ const enablePopup = (tabId) => {
* @returns {Promise<{ enabled: boolean, matches: string[] }>} Cache state
*/
const getCache = async (hostname, responseCallback) => {
const getCache = (hostname, responseCallback) => {
chrome.storage.local.get(null, (store) => {
try {
const cache = store[hostname];
@ -104,7 +103,6 @@ const getCache = async (hostname, responseCallback) => {
};
/**
* @async
* @function getTab
* @description Retrieves current tab information
*
@ -146,7 +144,6 @@ const getList = async (responseCallback) => {
};
/**
* @async
* @function updateCache
* @description Update cache state
*
@ -154,7 +151,7 @@ const getList = async (responseCallback) => {
* @param {object} [state]
*/
const updateCache = async (hostname, state) => {
const updateCache = (hostname, state) => {
chrome.storage.local.get(null, (cache) => {
const current = cache[hostname];

View File

@ -6,6 +6,14 @@
let attempts = 1;
/**
* @constant dispatch
* @description Shortcut to send messages to background script
* @type {void}
*/
const dispatch = chrome.runtime.sendMessage;
/**
* @var intervalId
* @description Task interval identifier
@ -46,7 +54,7 @@ let selectorsFromNetwork = [];
const fix = () => {
const html = document.documentElement;
const body = document.body;
const facebook = document.getElementsByClassName("._31e")[0];
const facebook = document.getElementsByClassName("_31e")[0];
if (body) body.style.setProperty("overflow-y", "unset", "important");
if (facebook) facebook.style.setProperty("position", "unset", "important");
@ -116,7 +124,7 @@ const removeFromNetwork = () => {
if (!["BODY", "HTML"].includes(tagName)) {
element.remove();
loading = false;
chrome.runtime.sendMessage({
dispatch({
hostname: document.location.hostname,
state: { matches: [selector] },
type: "UPDATE_CACHE",
@ -152,25 +160,23 @@ const runTasks = () => {
* @description Setup extension context
*/
chrome.runtime.sendMessage(
dispatch(
{ hostname: document.location.hostname, type: "GET_CACHE" },
null,
async ({ enabled, matches }) => {
chrome.runtime.sendMessage({ type: "ENABLE_POPUP" });
dispatch({ type: "ENABLE_POPUP" });
if (enabled) {
selectorsFromCache = matches;
chrome.runtime.sendMessage({ type: "ENABLE_ICON" });
chrome.runtime.sendMessage(
{ type: "GET_LIST" },
null,
async ({ selectors }) => {
selectorsFromNetwork = selectors;
intervalId = setInterval(runTasks, 500);
}
);
dispatch({ type: "ENABLE_ICON" });
dispatch({ type: "GET_LIST" }, null, async ({ selectors }) => {
selectorsFromNetwork = selectors;
intervalId = setInterval(runTasks, 500);
});
} else {
document.documentElement.style.setProperty("opacity", "1", "important");
document.addEventListener("DOMContentLoaded", () => {
document.body.style.setProperty("opacity", "1", "important");
});
}
}
);

View File

@ -7,6 +7,14 @@
const chromeUrl =
"https://chrome.google.com/webstore/detail/do-not-consent/djcbfpkdhdkaflcigibkbpboflaplabg";
/**
* @constant dispatch
* @description Shortcut to send messages to background script
* @type {void}
*/
const dispatch = chrome.runtime.sendMessage;
/**
* @constant firefoxUrl
* @description Firefox Add-ons link
@ -25,43 +33,37 @@ const firefoxUrl =
const isChromium = chrome.runtime.getURL("").startsWith("chrome-extension://");
/**
* @async
* @function handlePowerChange
* @description Disables or enables extension on current page
*/
const handlePowerChange = async () => {
chrome.runtime.sendMessage({ type: "GET_TAB" }, null, ({ hostname, id }) => {
chrome.runtime.sendMessage(
{ hostname, type: "GET_CACHE" },
null,
({ enabled }) => {
const power = document.getElementById("power");
const handlePowerChange = () => {
dispatch({ type: "GET_TAB" }, null, ({ hostname, id }) => {
dispatch({ hostname, type: "GET_CACHE" }, null, ({ enabled }) => {
const power = document.getElementById("power");
chrome.runtime.sendMessage({
hostname,
state: { enabled: !enabled },
type: "UPDATE_CACHE",
});
chrome.runtime.sendMessage({
type: !enabled === true ? "ENABLE_ICON" : "DISABLE_ICON",
});
if (!enabled === false) power.removeAttribute("checked");
if (!enabled === true) power.setAttribute("checked", "checked");
chrome.tabs.reload(id, { bypassCache: true });
}
);
dispatch({
hostname,
state: { enabled: !enabled },
type: "UPDATE_CACHE",
});
dispatch({
type: !enabled === true ? "ENABLE_ICON" : "DISABLE_ICON",
});
if (!enabled === false) power.removeAttribute("checked");
if (!enabled === true) power.setAttribute("checked", "checked");
chrome.tabs.reload(id, { bypassCache: true });
});
});
};
/**
* @async
* @function handleReload
* @description Reload current page
*/
const handleReload = async () => {
chrome.runtime.sendMessage({ type: "GET_TAB" }, null, ({ id }) => {
const handleReload = () => {
dispatch({ type: "GET_TAB" }, null, ({ id }) => {
chrome.tabs.reload(id, { bypassCache: true });
});
};
@ -92,33 +94,28 @@ const handleRate = (event) => {
};
/**
* @async
* @function handleContentLoaded
* @description Setup stars handlers and result message links
*/
const handleContentLoaded = async () => {
chrome.runtime.sendMessage({ type: "GET_TAB" }, null, ({ hostname, id }) => {
chrome.runtime.sendMessage(
{ hostname, type: "GET_CACHE" },
null,
({ enabled }) => {
const host = document.getElementById("host");
const like = document.getElementById("like");
const power = document.getElementById("power");
const reload = document.getElementById("reload");
const store = document.getElementById("store");
const unlike = document.getElementById("unlike");
const handleContentLoaded = () => {
dispatch({ type: "GET_TAB" }, null, ({ hostname, id }) => {
dispatch({ hostname, type: "GET_CACHE" }, null, ({ enabled }) => {
const host = document.getElementById("host");
const like = document.getElementById("like");
const power = document.getElementById("power");
const reload = document.getElementById("reload");
const store = document.getElementById("store");
const unlike = document.getElementById("unlike");
like.addEventListener("click", handleRate);
power.addEventListener("change", handlePowerChange);
reload.addEventListener("click", handleReload);
store.setAttribute("href", isChromium ? chromeUrl : firefoxUrl);
unlike.addEventListener("click", handleRate);
if (location) host.innerText = hostname.replace("www.", "");
if (!enabled) power.removeAttribute("checked");
}
);
like.addEventListener("click", handleRate);
power.addEventListener("change", handlePowerChange);
reload.addEventListener("click", handleReload);
store.setAttribute("href", isChromium ? chromeUrl : firefoxUrl);
unlike.addEventListener("click", handleRate);
if (location) host.innerText = hostname.replace("www.", "");
if (!enabled) power.removeAttribute("checked");
});
});
};