Left: | ||
Right: |
LEFT | RIGHT |
---|---|
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-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2017 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 |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
16 */ | 16 */ |
17 | 17 |
18 var API = (function() | 18 var API = (function() |
19 { | 19 { |
20 var Filter = require("filterClasses").Filter; | 20 var Filter = require("filterClasses").Filter; |
21 var Subscription = require("subscriptionClasses").Subscription; | 21 var Subscription = require("subscriptionClasses").Subscription; |
22 var SpecialSubscription = require("subscriptionClasses").SpecialSubscription; | 22 var SpecialSubscription = require("subscriptionClasses").SpecialSubscription; |
23 var FilterStorage = require("filterStorage").FilterStorage; | 23 var FilterStorage = require("filterStorage").FilterStorage; |
24 var defaultMatcher = require("matcher").defaultMatcher; | 24 var defaultMatcher = require("matcher").defaultMatcher; |
25 var ElemHide = require("elemHide").ElemHide; | 25 var ElemHide = require("elemHide").ElemHide; |
26 var Synchronizer = require("synchronizer").Synchronizer; | 26 var Synchronizer = require("synchronizer").Synchronizer; |
27 var Prefs = require("prefs").Prefs; | 27 var Prefs = require("prefs").Prefs; |
28 var checkForUpdates = require("updater").checkForUpdates; | 28 var checkForUpdates = require("updater").checkForUpdates; |
29 var Notification = require("notification").Notification; | 29 var Notification = require("notification").Notification; |
30 | 30 |
31 // returns first element of the array that satifies predicate. | |
sergei
2016/12/02 16:36:06
Should I move it into utils.js or extend Array.pro
sergei
2016/12/02 16:38:02
I meant extend in compat.js.
The link is https://
Eric
2016/12/05 14:40:58
At the point of use, it would be better to use the
sergei
2017/03/17 15:55:25
Done.
| |
32 var find = function (array, pred) { | |
33 for (var i = 0; i < array.length; ++i) | |
34 if (pred(array[i])) | |
35 return array[i]; | |
36 }; | |
37 | |
38 return { | 31 return { |
39 getFilterFromText: function(text) | 32 getFilterFromText: function(text) |
40 { | 33 { |
41 text = Filter.normalize(text); | 34 text = Filter.normalize(text); |
42 if (!text) | 35 if (!text) |
43 throw "Attempted to create a filter from empty text"; | 36 throw "Attempted to create a filter from empty text"; |
44 return Filter.fromText(text); | 37 return Filter.fromText(text); |
45 }, | 38 }, |
46 | 39 |
47 isListedFilter: function(filter) | 40 isListedFilter: function(filter) |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
142 result.push(subscription); | 135 result.push(subscription); |
143 } | 136 } |
144 return result; | 137 return result; |
145 }, | 138 }, |
146 | 139 |
147 isAASubscription: function(subscription) | 140 isAASubscription: function(subscription) |
148 { | 141 { |
149 return subscription.url == Prefs.subscriptions_exceptionsurl; | 142 return subscription.url == Prefs.subscriptions_exceptionsurl; |
150 }, | 143 }, |
151 | 144 |
152 setAASubscriptionEnabled: function (enabled) | 145 setAASubscriptionEnabled: function(enabled) |
Eric
2016/12/05 14:40:58
Nit: extra space after 'function'
sergei
2017/03/17 15:55:25
Done.
| |
153 { | 146 { |
154 var aaSubscription = find(FilterStorage.subscriptions, API.isAASubscriptio n); | 147 var aaSubscription = FilterStorage.subscriptions.find(API.isAASubscription ); |
Eric
2016/12/05 14:40:58
See comment on line 173
| |
155 if (!enabled) | 148 if (!enabled) |
156 { | 149 { |
157 if (aaSubscription && !aaSubscription.disabled) | 150 if (aaSubscription && !aaSubscription.disabled) |
158 aaSubscription.disabled = true; | 151 aaSubscription.disabled = true; |
159 return; | 152 return; |
160 } | 153 } |
161 if (!aaSubscription) { | 154 if (!aaSubscription) |
155 { | |
162 aaSubscription = Subscription.fromURL(Prefs.subscriptions_exceptionsurl) ; | 156 aaSubscription = Subscription.fromURL(Prefs.subscriptions_exceptionsurl) ; |
163 FilterStorage.addSubscription(aaSubscription); | 157 FilterStorage.addSubscription(aaSubscription); |
164 } | 158 } |
165 if (aaSubscription.disabled) | 159 if (aaSubscription.disabled) |
166 aaSubscription.disabled = false; | 160 aaSubscription.disabled = false; |
167 if (!aaSubscription.lastDownload) | 161 if (!aaSubscription.lastDownload) |
168 Synchronizer.execute(aaSubscription); | 162 Synchronizer.execute(aaSubscription); |
169 }, | 163 }, |
170 | 164 |
171 isAASubscriptionEnabled: function() | 165 isAASubscriptionEnabled: function() |
172 { | 166 { |
173 var aaSubscription = find(FilterStorage.subscriptions, API.isAASubscriptio n); | 167 var aaSubscription = FilterStorage.subscriptions.find(API.isAASubscription ); |
Eric
2016/12/05 14:40:58
Also see comment on line 154.
With the above line
sergei
2017/03/17 15:55:25
I would like to avoid augmenting of FilterStorage
| |
174 return aaSubscription && !aaSubscription.disabled; | 168 return aaSubscription && !aaSubscription.disabled; |
175 }, | 169 }, |
176 | 170 |
177 showNextNotification: function(url) | 171 showNextNotification: function(url) |
178 { | 172 { |
179 Notification.showNext(url); | 173 Notification.showNext(url); |
180 }, | 174 }, |
181 | 175 |
182 getNotificationTexts: function(notification) | 176 getNotificationTexts: function(notification) |
183 { | 177 { |
(...skipping 22 matching lines...) Expand all Loading... | |
206 return Prefs[pref]; | 200 return Prefs[pref]; |
207 }, | 201 }, |
208 | 202 |
209 setPref: function(pref, value) | 203 setPref: function(pref, value) |
210 { | 204 { |
211 Prefs[pref] = value; | 205 Prefs[pref] = value; |
212 }, | 206 }, |
213 | 207 |
214 forceUpdateCheck: function(eventName) | 208 forceUpdateCheck: function(eventName) |
215 { | 209 { |
216 checkForUpdates(_triggerEvent.bind(null, eventName)); | 210 checkForUpdates(eventName ? _triggerEvent.bind(null, eventName) : null); |
217 }, | 211 }, |
218 | 212 |
219 getHostFromUrl: function(url) | 213 getHostFromUrl: function(url) |
220 { | 214 { |
221 return extractHostFromURL(url); | 215 return extractHostFromURL(url); |
222 }, | 216 }, |
223 | 217 |
224 compareVersions: function(v1, v2) | 218 compareVersions: function(v1, v2) |
225 { | 219 { |
226 return Services.vc.compare(v1, v2); | 220 return Services.vc.compare(v1, v2); |
227 } | 221 } |
228 }; | 222 }; |
229 })(); | 223 })(); |
LEFT | RIGHT |