|
|
@ -386,29 +386,6 @@ function setDefaultOptions() {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// copy storage.sync to storage.local (quota exceeded)
|
|
|
|
|
|
|
|
ext_api.storage.sync.get({
|
|
|
|
|
|
|
|
sites: {},
|
|
|
|
|
|
|
|
sites_custom: {},
|
|
|
|
|
|
|
|
daily_users: {},
|
|
|
|
|
|
|
|
optIn: {},
|
|
|
|
|
|
|
|
optInShown: {},
|
|
|
|
|
|
|
|
customShown: {}
|
|
|
|
|
|
|
|
}, function (items) {
|
|
|
|
|
|
|
|
if (Object.keys(items.sites).length > 0) {
|
|
|
|
|
|
|
|
ext_api.storage.local.set({
|
|
|
|
|
|
|
|
sites: items.sites,
|
|
|
|
|
|
|
|
sites_custom: items.sites_custom,
|
|
|
|
|
|
|
|
daily_users: items.daily_users,
|
|
|
|
|
|
|
|
optIn: items.optIn,
|
|
|
|
|
|
|
|
optInShown: items.optInShown,
|
|
|
|
|
|
|
|
customShown: items.customShown
|
|
|
|
|
|
|
|
}, function () {
|
|
|
|
|
|
|
|
ext_api.storage.sync.remove(['sites', 'sites_custom']);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var grouped_sites = {
|
|
|
|
var grouped_sites = {
|
|
|
|
'###_au_comm_media': au_comm_media_domains,
|
|
|
|
'###_au_comm_media': au_comm_media_domains,
|
|
|
|
'###_au_news_corp': au_news_corp_domains,
|
|
|
|
'###_au_news_corp': au_news_corp_domains,
|
|
|
@ -1140,33 +1117,26 @@ function site_switch() {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function popup_show_toggle_tab(callback) {
|
|
|
|
// remove cookies after page load
|
|
|
|
|
|
|
|
ext_api.webRequest.onCompleted.addListener(function (details) {
|
|
|
|
|
|
|
|
ext_api.cookies.getAllCookieStores(function (cookieStores) {
|
|
|
|
ext_api.tabs.query({
|
|
|
|
ext_api.tabs.query({
|
|
|
|
active: true,
|
|
|
|
active: true,
|
|
|
|
currentWindow: true
|
|
|
|
currentWindow: true
|
|
|
|
}, function (tabs) {
|
|
|
|
}, function (tabs) {
|
|
|
|
if (tabs.length > 0 && tabs[0].url && tabs[0].url.indexOf("http") !== -1) {
|
|
|
|
if (tabs.length > 0 && tabs[0].url && tabs[0].url.indexOf("http") !== -1) {
|
|
|
|
let currentUrl = tabs[0].url;
|
|
|
|
let tabId = tabs[0].id;
|
|
|
|
let domain;
|
|
|
|
let storeId = 0;
|
|
|
|
let isExcludedSite = matchUrlDomain(excludedSites, currentUrl);
|
|
|
|
for (let store of cookieStores) {
|
|
|
|
if (!isExcludedSite) {
|
|
|
|
if (store.tabIds.includes(tabId))
|
|
|
|
let isDefaultSiteGrouped = matchUrlDomain(defaultSites_domains, currentUrl);
|
|
|
|
storeId = store.id;
|
|
|
|
let isDefaultSite = matchUrlDomain(defaultSites_domains, currentUrl);
|
|
|
|
|
|
|
|
let isCustomSite = matchUrlDomain(Object.values(customSites_domains), currentUrl);
|
|
|
|
|
|
|
|
domain = isDefaultSiteGrouped || (!isDefaultSite && isCustomSite);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
callback(domain);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// remove cookies after page load
|
|
|
|
|
|
|
|
ext_api.webRequest.onCompleted.addListener(function (details) {
|
|
|
|
|
|
|
|
var domainVar = matchUrlDomain(remove_cookies, details.url);
|
|
|
|
var domainVar = matchUrlDomain(remove_cookies, details.url);
|
|
|
|
if ((!['main_frame', 'xmlhttprequest', 'other'].includes(details.type)) || !domainVar || !enabledSites.includes(domainVar))
|
|
|
|
if ((!['main_frame', 'xmlhttprequest', 'other'].includes(details.type)) || !domainVar || !enabledSites.includes(domainVar))
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
ext_api.cookies.getAll({
|
|
|
|
ext_api.cookies.getAll({
|
|
|
|
domain: domainVar
|
|
|
|
domain: domainVar,
|
|
|
|
|
|
|
|
storeId: storeId
|
|
|
|
}, function (cookies) {
|
|
|
|
}, function (cookies) {
|
|
|
|
for (let cookie of cookies) {
|
|
|
|
for (let cookie of cookies) {
|
|
|
|
var rc_domain = cookie.domain.replace(/^(\.?www\.|\.)/, '');
|
|
|
|
var rc_domain = cookie.domain.replace(/^(\.?www\.|\.)/, '');
|
|
|
@ -1185,10 +1155,14 @@ ext_api.webRequest.onCompleted.addListener(function (details) {
|
|
|
|
cookie.domain = cookie.domain.replace(/^\./, '');
|
|
|
|
cookie.domain = cookie.domain.replace(/^\./, '');
|
|
|
|
ext_api.cookies.remove({
|
|
|
|
ext_api.cookies.remove({
|
|
|
|
url: (cookie.secure ? "https://" : "http://") + cookie.domain + cookie.path,
|
|
|
|
url: (cookie.secure ? "https://" : "http://") + cookie.domain + cookie.path,
|
|
|
|
name: cookie.name
|
|
|
|
name: cookie.name,
|
|
|
|
|
|
|
|
storeId: storeId
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
})
|
|
|
|
}, {
|
|
|
|
}, {
|
|
|
|
urls: ["<all_urls>"]
|
|
|
|
urls: ["<all_urls>"]
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -1226,17 +1200,71 @@ ext_api.runtime.onMessage.addListener(function (message, sender) {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (message.request === 'clear_cookies') {
|
|
|
|
|
|
|
|
clear_cookies();
|
|
|
|
|
|
|
|
}
|
|
|
|
// clear cookies for domain
|
|
|
|
// clear cookies for domain
|
|
|
|
if (message.domain) {
|
|
|
|
if (message.domain) {
|
|
|
|
|
|
|
|
ext_api.cookies.getAllCookieStores(function (cookieStores) {
|
|
|
|
|
|
|
|
ext_api.tabs.query({
|
|
|
|
|
|
|
|
active: true,
|
|
|
|
|
|
|
|
currentWindow: true
|
|
|
|
|
|
|
|
}, function (tabs) {
|
|
|
|
|
|
|
|
if (tabs.length > 0 && tabs[0].url && tabs[0].url.indexOf("http") !== -1) {
|
|
|
|
|
|
|
|
let tabId = tabs[0].id;
|
|
|
|
|
|
|
|
let storeId = 0;
|
|
|
|
|
|
|
|
for (let store of cookieStores) {
|
|
|
|
|
|
|
|
if (store.tabIds.includes(tabId))
|
|
|
|
|
|
|
|
storeId = store.id;
|
|
|
|
|
|
|
|
}
|
|
|
|
var domainVar = message.domain.replace('www.', '');
|
|
|
|
var domainVar = message.domain.replace('www.', '');
|
|
|
|
ext_api.cookies.getAll({
|
|
|
|
ext_api.cookies.getAll({
|
|
|
|
domain: domainVar
|
|
|
|
domain: domainVar,
|
|
|
|
|
|
|
|
storeId: storeId
|
|
|
|
}, function (cookies) {
|
|
|
|
}, function (cookies) {
|
|
|
|
for (let cookie of cookies) {
|
|
|
|
for (let cookie of cookies) {
|
|
|
|
cookie.domain = cookie.domain.replace(/^\./, '');
|
|
|
|
cookie.domain = cookie.domain.replace(/^\./, '');
|
|
|
|
ext_api.cookies.remove({
|
|
|
|
ext_api.cookies.remove({
|
|
|
|
url: (cookie.secure ? "https://" : "http://") + cookie.domain + cookie.path,
|
|
|
|
url: (cookie.secure ? "https://" : "http://") + cookie.domain + cookie.path,
|
|
|
|
name: cookie.name
|
|
|
|
name: cookie.name,
|
|
|
|
|
|
|
|
storeId: storeId
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (message.request === 'defaultSites_domains') {
|
|
|
|
|
|
|
|
ext_api.tabs.sendMessage(
|
|
|
|
|
|
|
|
sender.tab.id, {
|
|
|
|
|
|
|
|
"defaultSites_domains": defaultSites_domains
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (message.request === 'site_switch') {
|
|
|
|
|
|
|
|
site_switch();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (message.request === 'popup_show_toggle') {
|
|
|
|
|
|
|
|
ext_api.tabs.query({
|
|
|
|
|
|
|
|
active: true,
|
|
|
|
|
|
|
|
currentWindow: true
|
|
|
|
|
|
|
|
}, function (tabs) {
|
|
|
|
|
|
|
|
if (tabs.length > 0 && tabs[0].url && tabs[0].url.indexOf("http") !== -1) {
|
|
|
|
|
|
|
|
let currentUrl = tabs[0].url;
|
|
|
|
|
|
|
|
let domain;
|
|
|
|
|
|
|
|
let isExcludedSite = matchUrlDomain(excludedSites, currentUrl);
|
|
|
|
|
|
|
|
if (!isExcludedSite) {
|
|
|
|
|
|
|
|
let isDefaultSiteGrouped = matchUrlDomain(defaultSites_domains, currentUrl);
|
|
|
|
|
|
|
|
let isDefaultSite = matchUrlDomain(defaultSites_domains, currentUrl);
|
|
|
|
|
|
|
|
let isCustomSite = matchUrlDomain(Object.values(customSites_domains), currentUrl);
|
|
|
|
|
|
|
|
domain = isDefaultSiteGrouped || (!isDefaultSite && isCustomSite);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
ext_api.runtime.sendMessage({
|
|
|
|
|
|
|
|
msg: "popup_show_toggle",
|
|
|
|
|
|
|
|
data: {
|
|
|
|
|
|
|
|
domain: domain,
|
|
|
|
|
|
|
|
enabled: enabledSites.includes(domain)
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|