Index: lib/api.js |
=================================================================== |
--- a/lib/api.js |
+++ b/lib/api.js |
@@ -10,215 +10,222 @@ |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU General Public License for more details. |
* |
* You should have received a copy of the GNU General Public License |
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
*/ |
-var API = (function() |
+"use strict"; |
+ |
+let API = (() => |
{ |
const {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); |
- var Filter = require("filterClasses").Filter; |
- var Subscription = require("subscriptionClasses").Subscription; |
- var SpecialSubscription = require("subscriptionClasses").SpecialSubscription; |
- var FilterStorage = require("filterStorage").FilterStorage; |
- var defaultMatcher = require("matcher").defaultMatcher; |
- var ElemHide = require("elemHide").ElemHide; |
- var Synchronizer = require("synchronizer").Synchronizer; |
- var Prefs = require("prefs").Prefs; |
- var checkForUpdates = require("updater").checkForUpdates; |
- var Notification = require("notification").Notification; |
+ const {Filter} = require("filterClasses"); |
+ const {Subscription} = require("subscriptionClasses"); |
+ const {SpecialSubscription} = require("subscriptionClasses"); |
+ const {FilterStorage} = require("filterStorage"); |
+ const {defaultMatcher} = require("matcher"); |
+ const {ElemHide} = require("elemHide"); |
+ const {Synchronizer} = require("synchronizer"); |
+ const {Prefs} = require("prefs"); |
+ const {checkForUpdates} = require("updater"); |
+ const {Notification} = require("notification"); |
return { |
- getFilterFromText: function(text) |
+ getFilterFromText(text) |
{ |
text = Filter.normalize(text); |
if (!text) |
throw "Attempted to create a filter from empty text"; |
return Filter.fromText(text); |
}, |
- isListedFilter: function(filter) |
+ isListedFilter(filter) |
{ |
- return filter.subscriptions.some(function(s) |
+ return filter.subscriptions.some(s => |
{ |
return (s instanceof SpecialSubscription && !s.disabled); |
}); |
}, |
- addFilterToList: function(filter) |
+ addFilterToList(filter) |
{ |
FilterStorage.addFilter(filter); |
}, |
- removeFilterFromList: function(filter) |
+ removeFilterFromList(filter) |
{ |
FilterStorage.removeFilter(filter); |
}, |
- getListedFilters: function() |
+ getListedFilters() |
{ |
- var filters = {}; |
- for (var i = 0; i < FilterStorage.subscriptions.length; i++) |
+ let filters = {}; |
+ for (let i = 0; i < FilterStorage.subscriptions.length; i++) |
{ |
- var subscription = FilterStorage.subscriptions[i]; |
+ let subscription = FilterStorage.subscriptions[i]; |
if (subscription instanceof SpecialSubscription) |
{ |
- for (var j = 0; j < subscription.filters.length; j++) |
+ for (let j = 0; j < subscription.filters.length; j++) |
{ |
- var filter = subscription.filters[j]; |
+ let filter = subscription.filters[j]; |
if (!(filter.text in filters)) |
filters[filter.text] = filter; |
} |
} |
} |
- return Object.keys(filters).map(function(k) |
+ return Object.keys(filters).map(k => |
{ |
return filters[k]; |
}); |
}, |
- getSubscriptionFromUrl: function(url) |
+ getSubscriptionFromUrl(url) |
{ |
return Subscription.fromURL(url); |
}, |
- isListedSubscription: function(subscription) |
+ isListedSubscription(subscription) |
{ |
return subscription.url in FilterStorage.knownSubscriptions; |
}, |
- addSubscriptionToList: function(subscription) |
+ addSubscriptionToList(subscription) |
{ |
FilterStorage.addSubscription(subscription); |
if (!subscription.lastDownload) |
Synchronizer.execute(subscription); |
}, |
- removeSubscriptionFromList: function(subscription) |
+ removeSubscriptionFromList(subscription) |
{ |
FilterStorage.removeSubscription(subscription); |
}, |
- updateSubscription: function(subscription) |
+ updateSubscription(subscription) |
{ |
Synchronizer.execute(subscription); |
}, |
- isSubscriptionUpdating: function(subscription) |
+ isSubscriptionUpdating(subscription) |
{ |
return Synchronizer.isExecuting(subscription.url); |
}, |
- getListedSubscriptions: function() |
+ getListedSubscriptions() |
{ |
- return FilterStorage.subscriptions.filter(function(s) |
+ return FilterStorage.subscriptions.filter(s => |
{ |
- return !(s instanceof SpecialSubscription) |
+ return !(s instanceof SpecialSubscription); |
}); |
}, |
- getRecommendedSubscriptions: function() |
+ getRecommendedSubscriptions() |
{ |
- var subscriptions = require("subscriptions.xml"); |
- var result = []; |
- for (var i = 0; i < subscriptions.length; i++) |
+ let subscriptions = require("subscriptions.xml"); |
+ let result = []; |
+ for (let i = 0; i < subscriptions.length; i++) |
{ |
- var subscription = Subscription.fromURL(subscriptions[i].url); |
+ let subscription = Subscription.fromURL(subscriptions[i].url); |
subscription.title = subscriptions[i].title; |
subscription.homepage = subscriptions[i].homepage; |
// These aren't normally properties of a Subscription object |
subscription.author = subscriptions[i].author; |
subscription.prefixes = subscriptions[i].prefixes; |
subscription.specialization = subscriptions[i].specialization; |
result.push(subscription); |
} |
return result; |
}, |
- isAASubscription: function(subscription) |
+ isAASubscription(subscription) |
{ |
return subscription.url == Prefs.subscriptions_exceptionsurl; |
}, |
- setAASubscriptionEnabled: function(enabled) |
+ setAASubscriptionEnabled(enabled) |
{ |
- var aaSubscription = FilterStorage.subscriptions.find(API.isAASubscription); |
+ let aaSubscription = FilterStorage.subscriptions.find( |
+ API.isAASubscription); |
if (!enabled) |
{ |
if (aaSubscription && !aaSubscription.disabled) |
aaSubscription.disabled = true; |
return; |
} |
if (!aaSubscription) |
{ |
- aaSubscription = Subscription.fromURL(Prefs.subscriptions_exceptionsurl); |
+ aaSubscription = Subscription.fromURL( |
+ Prefs.subscriptions_exceptionsurl); |
FilterStorage.addSubscription(aaSubscription); |
} |
if (aaSubscription.disabled) |
aaSubscription.disabled = false; |
if (!aaSubscription.lastDownload) |
Synchronizer.execute(aaSubscription); |
}, |
- isAASubscriptionEnabled: function() |
+ isAASubscriptionEnabled() |
{ |
- var aaSubscription = FilterStorage.subscriptions.find(API.isAASubscription); |
+ let aaSubscription = FilterStorage.subscriptions.find( |
+ API.isAASubscription); |
return aaSubscription && !aaSubscription.disabled; |
}, |
- showNextNotification: function(url) |
+ showNextNotification(url) |
{ |
Notification.showNext(url); |
}, |
- getNotificationTexts: function(notification) |
+ getNotificationTexts(notification) |
{ |
return Notification.getLocalizedTexts(notification); |
}, |
- markNotificationAsShown: function(id) |
+ markNotificationAsShown(id) |
{ |
Notification.markAsShown(id); |
}, |
- checkFilterMatch: function(url, contentTypeMask, documentUrl) |
+ checkFilterMatch(url, contentTypeMask, documentUrl) |
{ |
- var requestHost = extractHostFromURL(url); |
- var documentHost = extractHostFromURL(documentUrl); |
- var thirdParty = isThirdParty(requestHost, documentHost); |
- return defaultMatcher.matchesAny(url, contentTypeMask, documentHost, thirdParty); |
+ let requestHost = extractHostFromURL(url); |
+ let documentHost = extractHostFromURL(documentUrl); |
+ let thirdParty = isThirdParty(requestHost, documentHost); |
+ return defaultMatcher.matchesAny( |
+ url, contentTypeMask, documentHost, thirdParty); |
}, |
- getElementHidingSelectors: function(domain) |
+ getElementHidingSelectors(domain) |
{ |
- return ElemHide.getSelectorsForDomain(domain, ElemHide.ALL_MATCHING, false); |
+ return ElemHide.getSelectorsForDomain(domain, |
+ ElemHide.ALL_MATCHING, false); |
}, |
- getPref: function(pref) |
+ getPref(pref) |
{ |
return Prefs[pref]; |
}, |
- setPref: function(pref, value) |
+ setPref(pref, value) |
{ |
Prefs[pref] = value; |
}, |
- forceUpdateCheck: function(eventName) |
+ forceUpdateCheck(eventName) |
{ |
checkForUpdates(eventName ? _triggerEvent.bind(null, eventName) : null); |
}, |
- getHostFromUrl: function(url) |
+ getHostFromUrl(url) |
{ |
return extractHostFromURL(url); |
}, |
- compareVersions: function(v1, v2) |
+ compareVersions(v1, v2) |
{ |
return Services.vc.compare(v1, v2); |
} |
}; |
})(); |