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

Delta Between Two Patch Sets: lib/snippets.js

Issue 29856564: Issue 6862 - Make Snippets module emit events (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Left Patch Set: Created Aug. 15, 2018, 2:28 p.m.
Right Patch Set: Avoid duplicate notifications Created Aug. 15, 2018, 2:52 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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 22 matching lines...) Expand all
33 /** 33 /**
34 * Container for snippet filters 34 * Container for snippet filters
35 * @class 35 * @class
36 */ 36 */
37 let Snippets = Object.assign(new EventEmitter(), { 37 let Snippets = Object.assign(new EventEmitter(), {
38 /** 38 /**
39 * Removes all known filters 39 * Removes all known filters
40 */ 40 */
41 clear() 41 clear()
42 { 42 {
43 if (filters.size == 0)
44 return;
45
43 filters.clear(); 46 filters.clear();
44 47
45 this.emit("snippets.filtersCleared"); 48 this.emit("snippets.filtersCleared");
46 }, 49 },
47 50
48 /** 51 /**
49 * Add a new snippet filter 52 * Add a new snippet filter
50 * @param {SnippetFilter} filter 53 * @param {SnippetFilter} filter
51 */ 54 */
52 add(filter) 55 add(filter)
53 { 56 {
57 let {size} = filters;
58
54 filters.add(filter.text); 59 filters.add(filter.text);
55 60
56 this.emit("snippets.filterAdded", filter); 61 if (size != filters.size)
62 this.emit("snippets.filterAdded", filter);
57 }, 63 },
58 64
59 /** 65 /**
60 * Removes a snippet filter 66 * Removes a snippet filter
61 * @param {SnippetFilter} filter 67 * @param {SnippetFilter} filter
62 */ 68 */
63 remove(filter) 69 remove(filter)
64 { 70 {
71 let {size} = filters;
72
65 filters.delete(filter.text); 73 filters.delete(filter.text);
66 74
67 this.emit("snippets.filterRemoved", filter); 75 if (size != filters.size)
76 this.emit("snippets.filterRemoved", filter);
68 }, 77 },
69 78
70 /** 79 /**
71 * Returns a list of all scripts active on a particular domain 80 * Returns a list of all scripts active on a particular domain
72 * @param {string} domain 81 * @param {string} domain
73 * @return {string[]} 82 * @return {string[]}
74 */ 83 */
75 getScriptsForDomain(domain) 84 getScriptsForDomain(domain)
76 { 85 {
77 let result = []; 86 let result = [];
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 let value = imports[name]; 204 let value = imports[name];
196 if (typeof value == "function") 205 if (typeof value == "function")
197 value(...args); 206 value(...args);
198 } 207 }
199 } 208 }
200 } 209 }
201 `; 210 `;
202 } 211 }
203 212
204 exports.compileScript = compileScript; 213 exports.compileScript = compileScript;
LEFTRIGHT
« no previous file | no next file » | Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Toggle Comments ('s')

Powered by Google App Engine
This is Rietveld