OLD | NEW |
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 |
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 "use strict"; | 18 "use strict"; |
19 | 19 |
20 /** | 20 /** |
21 * @fileOverview Component synchronizing filter storage with Matcher | 21 * @fileOverview Component synchronizing filter storage with Matcher |
22 * instances and ElemHide. | 22 * instances and ElemHide. |
23 */ | 23 */ |
24 | 24 |
25 const {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); | 25 const {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); |
26 const {XPCOMUtils} = Cu.import("resource://gre/modules/XPCOMUtils.jsm", {}); | 26 const {XPCOMUtils} = Cu.import("resource://gre/modules/XPCOMUtils.jsm", {}); |
27 | 27 |
28 const {FilterStorage} = require("./filterStorage"); | 28 const {FilterStorage} = require("./filterStorage"); |
29 const {FilterNotifier} = require("./filterNotifier"); | 29 const {filterNotifier} = require("./filterNotifier"); |
30 const {ElemHide} = require("./elemHide"); | 30 const {ElemHide} = require("./elemHide"); |
31 const {ElemHideEmulation} = require("./elemHideEmulation"); | 31 const {ElemHideEmulation} = require("./elemHideEmulation"); |
32 const {ElemHideExceptions} = require("./elemHideExceptions"); | 32 const {ElemHideExceptions} = require("./elemHideExceptions"); |
33 const {Snippets} = require("./snippets"); | 33 const {Snippets} = require("./snippets"); |
34 const {defaultMatcher} = require("./matcher"); | 34 const {defaultMatcher} = require("./matcher"); |
35 const {ActiveFilter, RegExpFilter, | 35 const {ActiveFilter, RegExpFilter, |
36 ElemHideBase, ElemHideFilter, ElemHideEmulationFilter, | 36 ElemHideBase, ElemHideFilter, ElemHideEmulationFilter, |
37 SnippetFilter} = require("./filterClasses"); | 37 SnippetFilter} = require("./filterClasses"); |
38 const {SpecialSubscription} = require("./subscriptionClasses"); | 38 const {SpecialSubscription} = require("./subscriptionClasses"); |
39 const {Prefs} = require("prefs"); | 39 const {Prefs} = require("prefs"); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 QueryInterface: XPCOMUtils.generateQI( | 90 QueryInterface: XPCOMUtils.generateQI( |
91 [Ci.nsISupportsWeakReference, Ci.nsIObserver] | 91 [Ci.nsISupportsWeakReference, Ci.nsIObserver] |
92 ) | 92 ) |
93 }; | 93 }; |
94 | 94 |
95 /** | 95 /** |
96 * Initializes filter listener on startup, registers the necessary hooks. | 96 * Initializes filter listener on startup, registers the necessary hooks. |
97 */ | 97 */ |
98 function init() | 98 function init() |
99 { | 99 { |
100 FilterNotifier.on("filter.hitCount", onFilterHitCount); | 100 filterNotifier.on("filter.hitCount", onFilterHitCount); |
101 FilterNotifier.on("filter.lastHit", onFilterLastHit); | 101 filterNotifier.on("filter.lastHit", onFilterLastHit); |
102 FilterNotifier.on("filter.added", onFilterAdded); | 102 filterNotifier.on("filter.added", onFilterAdded); |
103 FilterNotifier.on("filter.removed", onFilterRemoved); | 103 filterNotifier.on("filter.removed", onFilterRemoved); |
104 FilterNotifier.on("filter.disabled", onFilterDisabled); | 104 filterNotifier.on("filter.disabled", onFilterDisabled); |
105 FilterNotifier.on("filter.moved", onGenericChange); | 105 filterNotifier.on("filter.moved", onGenericChange); |
106 | 106 |
107 FilterNotifier.on("subscription.added", onSubscriptionAdded); | 107 filterNotifier.on("subscription.added", onSubscriptionAdded); |
108 FilterNotifier.on("subscription.removed", onSubscriptionRemoved); | 108 filterNotifier.on("subscription.removed", onSubscriptionRemoved); |
109 FilterNotifier.on("subscription.disabled", onSubscriptionDisabled); | 109 filterNotifier.on("subscription.disabled", onSubscriptionDisabled); |
110 FilterNotifier.on("subscription.updated", onSubscriptionUpdated); | 110 filterNotifier.on("subscription.updated", onSubscriptionUpdated); |
111 FilterNotifier.on("subscription.moved", onGenericChange); | 111 filterNotifier.on("subscription.moved", onGenericChange); |
112 FilterNotifier.on("subscription.title", onGenericChange); | 112 filterNotifier.on("subscription.title", onGenericChange); |
113 FilterNotifier.on("subscription.fixedTitle", onGenericChange); | 113 filterNotifier.on("subscription.fixedTitle", onGenericChange); |
114 FilterNotifier.on("subscription.homepage", onGenericChange); | 114 filterNotifier.on("subscription.homepage", onGenericChange); |
115 FilterNotifier.on("subscription.downloadStatus", onGenericChange); | 115 filterNotifier.on("subscription.downloadStatus", onGenericChange); |
116 FilterNotifier.on("subscription.lastCheck", onGenericChange); | 116 filterNotifier.on("subscription.lastCheck", onGenericChange); |
117 FilterNotifier.on("subscription.errors", onGenericChange); | 117 filterNotifier.on("subscription.errors", onGenericChange); |
118 | 118 |
119 FilterNotifier.on("load", onLoad); | 119 filterNotifier.on("load", onLoad); |
120 FilterNotifier.on("save", onSave); | 120 filterNotifier.on("save", onSave); |
121 | 121 |
122 FilterStorage.loadFromDisk(); | 122 FilterStorage.loadFromDisk(); |
123 | 123 |
124 Services.obs.addObserver(HistoryPurgeObserver, | 124 Services.obs.addObserver(HistoryPurgeObserver, |
125 "browser:purge-session-history", true); | 125 "browser:purge-session-history", true); |
126 onShutdown.add(() => | 126 onShutdown.add(() => |
127 { | 127 { |
128 Services.obs.removeObserver(HistoryPurgeObserver, | 128 Services.obs.removeObserver(HistoryPurgeObserver, |
129 "browser:purge-session-history"); | 129 "browser:purge-session-history"); |
130 }); | 130 }); |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 { | 340 { |
341 if (!subscription.disabled) | 341 if (!subscription.disabled) |
342 addFilters(subscription.filters); | 342 addFilters(subscription.filters); |
343 } | 343 } |
344 } | 344 } |
345 | 345 |
346 function onSave() | 346 function onSave() |
347 { | 347 { |
348 isDirty = 0; | 348 isDirty = 0; |
349 } | 349 } |
OLD | NEW |