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

Side by Side Diff: lib/filterNotifier.js

Issue 29853561: Issue 6854 - Remove deprecated FilterNotifier methods (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Created Aug. 11, 2018, 2:43 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
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
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 This component manages listeners and calls them to distributes 21 * @fileOverview This component manages listeners and calls them to distributes
22 * messages about filter changes. 22 * messages about filter changes.
23 */ 23 */
24 24
25 const {EventEmitter} = require("./events"); 25 const {EventEmitter} = require("./events");
26 const {desc} = require("./coreUtils");
27
28 const CATCH_ALL = "__all";
29
30 /**
31 * @callback FilterNotifierCatchAllListener
32 * @param {string} action
33 * @param {Subscription|Filter} item
34 * @param {...*} additionalInfo
35 */
36 26
37 /** 27 /**
38 * This class allows registering and triggering listeners for filter events. 28 * This class allows registering and triggering listeners for filter events.
39 * @class 29 * @class
40 */ 30 */
41 exports.FilterNotifier = Object.create(new EventEmitter(), desc({ 31 exports.FilterNotifier = Object.create(new EventEmitter());
42 /**
43 * Adds a listener
44 *
45 * @deprecated use FilterNotifier.on(action, callback)
46 * @param {FilterNotifierCatchAllListener} listener
47 */
48 addListener(listener)
49 {
50 let listeners = this._listeners.get(CATCH_ALL);
51 if (!listeners || listeners.indexOf(listener) == -1)
52 this.on(CATCH_ALL, listener);
53 },
54
55 /**
56 * Removes a listener that was previosly added via addListener
57 *
58 * @deprecated use FilterNotifier.off(action, callback)
59 * @param {FilterNotifierCatchAllListener} listener
60 */
61 removeListener(listener)
62 {
63 this.off(CATCH_ALL, listener);
64 },
65
66 /**
67 * Notifies listeners about an event
68 * @param {string} action event code ("load", "save", "elemhideupdate",
69 * "subscription.added", "subscription.removed",
70 * "subscription.disabled", "subscription.title",
71 * "subscription.lastDownload", "subscription.downloadStatus",
72 * "subscription.homepage", "subscription.updated",
73 * "filter.added", "filter.removed", "filter.moved",
74 * "filter.disabled", "filter.hitCount", "filter.lastHit")
75 * @param {Subscription|Filter} item item that the change applies to
76 * @param {*} param1
77 * @param {*} param2
78 * @param {*} param3
79 * @deprecated use FilterNotifier.emit(action)
80 */
81 triggerListeners(action, item, param1, param2, param3)
82 {
83 this.emit(action, item, param1, param2, param3);
84 this.emit(CATCH_ALL, action, item, param1, param2, param3);
85 }
86 }));
OLDNEW
« no previous file with comments | « lib/filterClasses.js ('k') | lib/filterStorage.js » ('j') | test/filterNotifier.js » ('J')

Powered by Google App Engine
This is Rietveld