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

Side by Side Diff: lib/subscriptionInit.js

Issue 29907589: Issue 7054 - Update the adblockpluscore dependency to 5cb695da5a40, adblockplusui to f86abf2efdfd (Closed)
Patch Set: Created Oct. 12, 2018, 4:56 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 * However, if patterns.ini already did exist and/or any preference 42 * However, if patterns.ini already did exist and/or any preference
43 * is set to a non-default value, this indicates that this isn't the 43 * is set to a non-default value, this indicates that this isn't the
44 * first run, but something went wrong. 44 * first run, but something went wrong.
45 * 45 *
46 * This function detects the first run, and makes sure that the user 46 * This function detects the first run, and makes sure that the user
47 * gets notified (on the first run page) if the data appears incomplete 47 * gets notified (on the first run page) if the data appears incomplete
48 * and therefore will be reinitialized. 48 * and therefore will be reinitialized.
49 */ 49 */
50 function detectFirstRun() 50 function detectFirstRun()
51 { 51 {
52 firstRun = FilterStorage.subscriptions.length == 0; 52 firstRun = FilterStorage.knownSubscriptions.size == 0;
Manish Jethani 2018/10/15 23:54:47 The intention was to expose the subscriptions gene
Jon Sonesen 2018/11/29 17:33:54 Acknowledged.
53 53
54 if (firstRun && (!FilterStorage.firstRun || Prefs.currentVersion)) 54 if (firstRun && (!FilterStorage.firstRun || Prefs.currentVersion))
55 reinitialized = true; 55 reinitialized = true;
56 56
57 Prefs.currentVersion = info.addonVersion; 57 Prefs.currentVersion = info.addonVersion;
58 } 58 }
59 59
60 /** 60 /**
61 * Determines whether to add the default ad blocking subscriptions. 61 * Determines whether to add the default ad blocking subscriptions.
62 * Returns true, if there are no filter subscriptions besides those 62 * Returns true, if there are no filter subscriptions besides those
63 * other subscriptions added automatically, and no custom filters. 63 * other subscriptions added automatically, and no custom filters.
64 * 64 *
65 * On first run, this logic should always result in true since there 65 * On first run, this logic should always result in true since there
66 * is no data and therefore no subscriptions. But it also causes the 66 * is no data and therefore no subscriptions. But it also causes the
67 * default ad blocking subscriptions to be added again after some 67 * default ad blocking subscriptions to be added again after some
68 * data corruption or misconfiguration. 68 * data corruption or misconfiguration.
69 * 69 *
70 * @return {boolean} 70 * @return {boolean}
71 */ 71 */
72 function shouldAddDefaultSubscriptions() 72 function shouldAddDefaultSubscriptions()
73 { 73 {
74 for (let subscription of FilterStorage.subscriptions) 74 for (let subscription of [...FilterStorage.knownSubscriptions.values()])
Manish Jethani 2018/10/15 23:54:47 Similarly, let's make this `FilterStorage.subscrip
Jon Sonesen 2018/11/29 17:33:54 Acknowledged.
75 { 75 {
76 if (subscription instanceof DownloadableSubscription && 76 if (subscription instanceof DownloadableSubscription &&
77 subscription.url != Prefs.subscriptions_exceptionsurl && 77 subscription.url != Prefs.subscriptions_exceptionsurl &&
78 subscription.url != Prefs.subscriptions_antiadblockurl && 78 subscription.url != Prefs.subscriptions_antiadblockurl &&
79 subscription.type != "circumvention") 79 subscription.type != "circumvention")
80 return false; 80 return false;
81 81
82 if (subscription instanceof SpecialSubscription && 82 if (subscription instanceof SpecialSubscription &&
83 subscription.filters.length > 0) 83 subscription.filters.length > 0)
84 return false; 84 return false;
(...skipping 12 matching lines...) Expand all
97 * on the user's locale. 97 * on the user's locale.
98 * 98 *
99 * @param {HTMLCollection} subscriptions 99 * @param {HTMLCollection} subscriptions
100 * @return {DefaultSubscriptions} 100 * @return {DefaultSubscriptions}
101 */ 101 */
102 function chooseFilterSubscriptions(subscriptions) 102 function chooseFilterSubscriptions(subscriptions)
103 { 103 {
104 let selectedItem = {}; 104 let selectedItem = {};
105 let selectedPrefix = null; 105 let selectedPrefix = null;
106 let matchCount = 0; 106 let matchCount = 0;
107 for (let subscription of subscriptions) 107 for (let subscription of [...subscriptions])
Manish Jethani 2018/10/15 23:54:47 Not required.
Jon Sonesen 2018/11/29 17:33:54 Acknowledged.
108 { 108 {
109 let prefixes = subscription.getAttribute("prefixes"); 109 let prefixes = subscription.getAttribute("prefixes");
110 let prefix = prefixes && prefixes.split(",").find( 110 let prefix = prefixes && prefixes.split(",").find(
111 lang => new RegExp("^" + lang + "\\b").test(Utils.appLocale) 111 lang => new RegExp("^" + lang + "\\b").test(Utils.appLocale)
112 ); 112 );
113 113
114 let subscriptionType = subscription.getAttribute("type"); 114 let subscriptionType = subscription.getAttribute("type");
115 115
116 if ((subscriptionType == "ads" || subscriptionType == "circumvention") && 116 if ((subscriptionType == "ads" || subscriptionType == "circumvention") &&
117 !selectedItem[subscriptionType]) 117 !selectedItem[subscriptionType])
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 } 257 }
258 258
259 return subscriptions; 259 return subscriptions;
260 } 260 }
261 261
262 function addSubscriptionsAndNotifyUser(subscriptions) 262 function addSubscriptionsAndNotifyUser(subscriptions)
263 { 263 {
264 if (subscriptionsCallback) 264 if (subscriptionsCallback)
265 subscriptions = subscriptionsCallback(subscriptions); 265 subscriptions = subscriptionsCallback(subscriptions);
266 266
267 for (let subscription of subscriptions) 267 for (let subscription of [...subscriptions])
Manish Jethani 2018/10/15 23:54:47 Not required.
Jon Sonesen 2018/11/29 17:33:54 Acknowledged.
268 { 268 {
269 FilterStorage.addSubscription(subscription); 269 FilterStorage.addSubscription(subscription);
270 if (subscription instanceof DownloadableSubscription && 270 if (subscription instanceof DownloadableSubscription &&
271 !subscription.lastDownload) 271 !subscription.lastDownload)
272 Synchronizer.execute(subscription); 272 Synchronizer.execute(subscription);
273 } 273 }
274 274
275 // Show first run page or the updates page. The latter is only shown 275 // Show first run page or the updates page. The latter is only shown
276 // on Chromium (since the current updates page announces features that 276 // on Chromium (since the current updates page announces features that
277 // aren't new to Firefox users), and only if this version of the 277 // aren't new to Firefox users), and only if this version of the
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 * 334 *
335 * @param {function} callback 335 * @param {function} callback
336 */ 336 */
337 exports.setSubscriptionsCallback = callback => 337 exports.setSubscriptionsCallback = callback =>
338 { 338 {
339 subscriptionsCallback = callback; 339 subscriptionsCallback = callback;
340 }; 340 };
341 341
342 // Exports for tests only 342 // Exports for tests only
343 exports.chooseFilterSubscriptions = chooseFilterSubscriptions; 343 exports.chooseFilterSubscriptions = chooseFilterSubscriptions;
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld