Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/subscriptionInit.js

Issue 29827646: Issue 6783 - opt-in to anti circumvention filter list on upgrade (Closed) Base URL: https://hg.adblockplus.org/adblockpluschrome/
Patch Set: Change the name of the preference key Created July 17, 2018, 2:29 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/prefs.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/subscriptionInit.js
===================================================================
--- a/lib/subscriptionInit.js
+++ b/lib/subscriptionInit.js
@@ -53,28 +53,28 @@
if (firstRun && (!FilterStorage.firstRun || Prefs.currentVersion))
reinitialized = true;
Prefs.currentVersion = info.addonVersion;
}
/**
- * Determines whether to add the default ad blocking subscription.
+ * Determines whether to add the default ad blocking subscriptions.
* Returns true, if there are no filter subscriptions besides those
* other subscriptions added automatically, and no custom filters.
*
* On first run, this logic should always result in true since there
* is no data and therefore no subscriptions. But it also causes the
- * default ad blocking subscription to be added again after some
+ * default ad blocking subscriptions to be added again after some
* data corruption or misconfiguration.
*
* @return {boolean}
*/
-function shouldAddDefaultSubscription()
+function shouldAddDefaultSubscriptions()
{
for (let subscription of FilterStorage.subscriptions)
{
if (subscription instanceof DownloadableSubscription &&
subscription.url != Prefs.subscriptions_exceptionsurl &&
subscription.url != Prefs.subscriptions_antiadblockurl)
return false;
@@ -205,18 +205,19 @@
let antiAdblockSubscription = Subscription.fromURL(
Prefs.subscriptions_antiadblockurl
);
antiAdblockSubscription.disabled = true;
subscriptions.push(antiAdblockSubscription);
}
}
- // Add default ad blocking subscription (e.g. EasyList)
- if (shouldAddDefaultSubscription())
+ // Add default ad blocking subscriptions (e.g. EasyList, Anti-Circumvention)
+ let addDefaultSubscription = shouldAddDefaultSubscriptions();
+ if (addDefaultSubscription || !Prefs.subscriptions_addedanticv)
{
return fetch("subscriptions.xml")
.then(response => response.text())
.then(text =>
{
let doc = new DOMParser().parseFromString(text, "application/xml");
let nodes = doc.getElementsByTagName("subscription");
@@ -227,22 +228,30 @@
{
let node = defaultSubscriptions[name];
if (!node)
continue;
let url = node.getAttribute("url");
if (url)
{
+ // Make sure that we don't add Easylist again if we want
+ // to just add the Anti-Circumvention subscription.
+ let type = node.getAttribute("type");
+ if (!addDefaultSubscription && type != "circumvention")
+ continue;
+
let subscription = Subscription.fromURL(url);
subscription.disabled = false;
subscription.title = node.getAttribute("title");
subscription.homepage = node.getAttribute("homepage");
- subscription.type = node.getAttribute("type");
+ subscription.type = type;
subscriptions.push(subscription);
+ if (subscription.type == "circumvention")
+ Prefs.subscriptions_addedanticv = true;
}
}
}
return subscriptions;
});
}
« no previous file with comments | « lib/prefs.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld