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

Side by Side Diff: lib/filterClasses.js

Issue 29803562: Noissue - Add @link tag for JSDoc references (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Created June 9, 2018, 1:32 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
« no previous file with comments | « no previous file | lib/matcher.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 return beforeOptions + "$" + options.join(); 233 return beforeOptions + "$" + options.join();
234 }; 234 };
235 235
236 /** 236 /**
237 * @see filterToRegExp 237 * @see filterToRegExp
238 */ 238 */
239 Filter.toRegExp = filterToRegExp; 239 Filter.toRegExp = filterToRegExp;
240 240
241 /** 241 /**
242 * Class for invalid filters 242 * Class for invalid filters
243 * @param {string} text see Filter() 243 * @param {string} text see {@link Filter Filter()}
244 * @param {string} reason Reason why this filter is invalid 244 * @param {string} reason Reason why this filter is invalid
245 * @constructor 245 * @constructor
246 * @augments Filter 246 * @augments Filter
247 */ 247 */
248 function InvalidFilter(text, reason) 248 function InvalidFilter(text, reason)
249 { 249 {
250 Filter.call(this, text); 250 Filter.call(this, text);
251 251
252 this.reason = reason; 252 this.reason = reason;
253 } 253 }
(...skipping 10 matching lines...) Expand all
264 264
265 /** 265 /**
266 * See Filter.serialize() 266 * See Filter.serialize()
267 * @inheritdoc 267 * @inheritdoc
268 */ 268 */
269 serialize(buffer) {} 269 serialize(buffer) {}
270 }); 270 });
271 271
272 /** 272 /**
273 * Class for comments 273 * Class for comments
274 * @param {string} text see Filter() 274 * @param {string} text see {@link Filter Filter()}
275 * @constructor 275 * @constructor
276 * @augments Filter 276 * @augments Filter
277 */ 277 */
278 function CommentFilter(text) 278 function CommentFilter(text)
279 { 279 {
280 Filter.call(this, text); 280 Filter.call(this, text);
281 } 281 }
282 exports.CommentFilter = CommentFilter; 282 exports.CommentFilter = CommentFilter;
283 283
284 CommentFilter.prototype = extend(Filter, { 284 CommentFilter.prototype = extend(Filter, {
285 type: "comment", 285 type: "comment",
286 286
287 /** 287 /**
288 * See Filter.serialize() 288 * See Filter.serialize()
289 * @inheritdoc 289 * @inheritdoc
290 */ 290 */
291 serialize(buffer) {} 291 serialize(buffer) {}
292 }); 292 });
293 293
294 /** 294 /**
295 * Abstract base class for filters that can get hits 295 * Abstract base class for filters that can get hits
296 * @param {string} text 296 * @param {string} text
297 * see Filter() 297 * see {@link Filter Filter()}
298 * @param {string} [domains] 298 * @param {string} [domains]
299 * Domains that the filter is restricted to separated by domainSeparator 299 * Domains that the filter is restricted to separated by domainSeparator
300 * e.g. "foo.com|bar.com|~baz.com" 300 * e.g. "foo.com|bar.com|~baz.com"
301 * @constructor 301 * @constructor
302 * @augments Filter 302 * @augments Filter
303 */ 303 */
304 function ActiveFilter(text, domains) 304 function ActiveFilter(text, domains)
305 { 305 {
306 Filter.call(this, text); 306 Filter.call(this, text);
307 307
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 if (this._hitCount) 552 if (this._hitCount)
553 buffer.push("hitCount=" + this._hitCount); 553 buffer.push("hitCount=" + this._hitCount);
554 if (this._lastHit) 554 if (this._lastHit)
555 buffer.push("lastHit=" + this._lastHit); 555 buffer.push("lastHit=" + this._lastHit);
556 } 556 }
557 } 557 }
558 }); 558 });
559 559
560 /** 560 /**
561 * Abstract base class for RegExp-based filters 561 * Abstract base class for RegExp-based filters
562 * @param {string} text see Filter() 562 * @param {string} text see {@link Filter Filter()}
563 * @param {string} regexpSource 563 * @param {string} regexpSource
564 * filter part that the regular expression should be build from 564 * filter part that the regular expression should be build from
565 * @param {number} [contentType] 565 * @param {number} [contentType]
566 * Content types the filter applies to, combination of values from 566 * Content types the filter applies to, combination of values from
567 * RegExpFilter.typeMap 567 * RegExpFilter.typeMap
568 * @param {boolean} [matchCase] 568 * @param {boolean} [matchCase]
569 * Defines whether the filter should distinguish between lower and upper case 569 * Defines whether the filter should distinguish between lower and upper case
570 * letters 570 * letters
571 * @param {string} [domains] 571 * @param {string} [domains]
572 * Domains that the filter is restricted to, e.g. "foo.com|bar.com|~baz.com" 572 * Domains that the filter is restricted to, e.g. "foo.com|bar.com|~baz.com"
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 // shouldn't be there by default 857 // shouldn't be there by default
858 RegExpFilter.prototype.contentType &= ~(RegExpFilter.typeMap.CSP | 858 RegExpFilter.prototype.contentType &= ~(RegExpFilter.typeMap.CSP |
859 RegExpFilter.typeMap.DOCUMENT | 859 RegExpFilter.typeMap.DOCUMENT |
860 RegExpFilter.typeMap.ELEMHIDE | 860 RegExpFilter.typeMap.ELEMHIDE |
861 RegExpFilter.typeMap.POPUP | 861 RegExpFilter.typeMap.POPUP |
862 RegExpFilter.typeMap.GENERICHIDE | 862 RegExpFilter.typeMap.GENERICHIDE |
863 RegExpFilter.typeMap.GENERICBLOCK); 863 RegExpFilter.typeMap.GENERICBLOCK);
864 864
865 /** 865 /**
866 * Class for blocking filters 866 * Class for blocking filters
867 * @param {string} text see Filter() 867 * @param {string} text see {@link Filter Filter()}
868 * @param {string} regexpSource see RegExpFilter() 868 * @param {string} regexpSource see {@link RegExpFilter RegExpFilter()}
869 * @param {number} [contentType] see RegExpFilter() 869 * @param {number} [contentType] see {@link RegExpFilter RegExpFilter()}
870 * @param {boolean} [matchCase] see RegExpFilter() 870 * @param {boolean} [matchCase] see {@link RegExpFilter RegExpFilter()}
871 * @param {string} [domains] see RegExpFilter() 871 * @param {string} [domains] see {@link RegExpFilter RegExpFilter()}
872 * @param {boolean} [thirdParty] see RegExpFilter() 872 * @param {boolean} [thirdParty] see {@link RegExpFilter RegExpFilter()}
873 * @param {string} [sitekeys] see RegExpFilter() 873 * @param {string} [sitekeys] see {@link RegExpFilter RegExpFilter()}
874 * @param {boolean} [collapse] 874 * @param {boolean} [collapse]
875 * defines whether the filter should collapse blocked content, can be null 875 * defines whether the filter should collapse blocked content, can be null
876 * @param {string} [csp] 876 * @param {string} [csp]
877 * Content Security Policy to inject when the filter matches 877 * Content Security Policy to inject when the filter matches
878 * @param {?string} [rewrite] 878 * @param {?string} [rewrite]
879 * The (optional) rule specifying how to rewrite the URL. See 879 * The (optional) rule specifying how to rewrite the URL. See
880 * BlockingFilter.prototype.rewrite. 880 * BlockingFilter.prototype.rewrite.
881 * @constructor 881 * @constructor
882 * @augments RegExpFilter 882 * @augments RegExpFilter
883 */ 883 */
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 catch (e) 937 catch (e)
938 { 938 {
939 } 939 }
940 940
941 return url; 941 return url;
942 } 942 }
943 }); 943 });
944 944
945 /** 945 /**
946 * Class for whitelist filters 946 * Class for whitelist filters
947 * @param {string} text see Filter() 947 * @param {string} text see {@link Filter Filter()}
948 * @param {string} regexpSource see RegExpFilter() 948 * @param {string} regexpSource see {@link RegExpFilter RegExpFilter()}
949 * @param {number} [contentType] see RegExpFilter() 949 * @param {number} [contentType] see {@link RegExpFilter RegExpFilter()}
950 * @param {boolean} [matchCase] see RegExpFilter() 950 * @param {boolean} [matchCase] see {@link RegExpFilter RegExpFilter()}
951 * @param {string} [domains] see RegExpFilter() 951 * @param {string} [domains] see {@link RegExpFilter RegExpFilter()}
952 * @param {boolean} [thirdParty] see RegExpFilter() 952 * @param {boolean} [thirdParty] see {@link RegExpFilter RegExpFilter()}
953 * @param {string} [sitekeys] see RegExpFilter() 953 * @param {string} [sitekeys] see {@link RegExpFilter RegExpFilter()}
954 * @constructor 954 * @constructor
955 * @augments RegExpFilter 955 * @augments RegExpFilter
956 */ 956 */
957 function WhitelistFilter(text, regexpSource, contentType, matchCase, domains, 957 function WhitelistFilter(text, regexpSource, contentType, matchCase, domains,
958 thirdParty, sitekeys) 958 thirdParty, sitekeys)
959 { 959 {
960 RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, 960 RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains,
961 thirdParty, sitekeys); 961 thirdParty, sitekeys);
962 } 962 }
963 exports.WhitelistFilter = WhitelistFilter; 963 exports.WhitelistFilter = WhitelistFilter;
964 964
965 WhitelistFilter.prototype = extend(RegExpFilter, { 965 WhitelistFilter.prototype = extend(RegExpFilter, {
966 type: "whitelist" 966 type: "whitelist"
967 }); 967 });
968 968
969 /** 969 /**
970 * Base class for element hiding filters 970 * Base class for element hiding filters
971 * @param {string} text see Filter() 971 * @param {string} text see {@link Filter Filter()}
972 * @param {string} [domains] Host names or domains the filter should be 972 * @param {string} [domains] Host names or domains the filter should be
973 * restricted to 973 * restricted to
974 * @param {string} selector CSS selector for the HTML elements that should be 974 * @param {string} selector CSS selector for the HTML elements that should be
975 * hidden 975 * hidden
976 * @constructor 976 * @constructor
977 * @augments ActiveFilter 977 * @augments ActiveFilter
978 */ 978 */
979 function ElemHideBase(text, domains, selector) 979 function ElemHideBase(text, domains, selector)
980 { 980 {
981 ActiveFilter.call(this, text, domains || null); 981 ActiveFilter.call(this, text, domains || null);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 return new InvalidFilter(text, "filter_elemhideemulation_nodomain"); 1029 return new InvalidFilter(text, "filter_elemhideemulation_nodomain");
1030 1030
1031 return new ElemHideEmulationFilter(text, domains, selector); 1031 return new ElemHideEmulationFilter(text, domains, selector);
1032 } 1032 }
1033 1033
1034 return new ElemHideFilter(text, domains, selector); 1034 return new ElemHideFilter(text, domains, selector);
1035 }; 1035 };
1036 1036
1037 /** 1037 /**
1038 * Class for element hiding filters 1038 * Class for element hiding filters
1039 * @param {string} text see Filter() 1039 * @param {string} text see {@link Filter Filter()}
1040 * @param {string} [domains] see ElemHideBase() 1040 * @param {string} [domains] see {@link ElemHideBase ElemHideBase()}
1041 * @param {string} selector see ElemHideBase() 1041 * @param {string} selector see {@link ElemHideBase ElemHideBase()}
1042 * @constructor 1042 * @constructor
1043 * @augments ElemHideBase 1043 * @augments ElemHideBase
1044 */ 1044 */
1045 function ElemHideFilter(text, domains, selector) 1045 function ElemHideFilter(text, domains, selector)
1046 { 1046 {
1047 ElemHideBase.call(this, text, domains, selector); 1047 ElemHideBase.call(this, text, domains, selector);
1048 } 1048 }
1049 exports.ElemHideFilter = ElemHideFilter; 1049 exports.ElemHideFilter = ElemHideFilter;
1050 1050
1051 ElemHideFilter.prototype = extend(ElemHideBase, { 1051 ElemHideFilter.prototype = extend(ElemHideBase, {
1052 type: "elemhide" 1052 type: "elemhide"
1053 }); 1053 });
1054 1054
1055 /** 1055 /**
1056 * Class for element hiding exceptions 1056 * Class for element hiding exceptions
1057 * @param {string} text see Filter() 1057 * @param {string} text see {@link Filter Filter()}
1058 * @param {string} [domains] see ElemHideBase() 1058 * @param {string} [domains] see {@link ElemHideBase ElemHideBase()}
1059 * @param {string} selector see ElemHideBase() 1059 * @param {string} selector see {@link ElemHideBase ElemHideBase()}
1060 * @constructor 1060 * @constructor
1061 * @augments ElemHideBase 1061 * @augments ElemHideBase
1062 */ 1062 */
1063 function ElemHideException(text, domains, selector) 1063 function ElemHideException(text, domains, selector)
1064 { 1064 {
1065 ElemHideBase.call(this, text, domains, selector); 1065 ElemHideBase.call(this, text, domains, selector);
1066 } 1066 }
1067 exports.ElemHideException = ElemHideException; 1067 exports.ElemHideException = ElemHideException;
1068 1068
1069 ElemHideException.prototype = extend(ElemHideBase, { 1069 ElemHideException.prototype = extend(ElemHideBase, {
1070 type: "elemhideexception" 1070 type: "elemhideexception"
1071 }); 1071 });
1072 1072
1073 /** 1073 /**
1074 * Class for element hiding emulation filters 1074 * Class for element hiding emulation filters
1075 * @param {string} text see Filter() 1075 * @param {string} text see {@link Filter Filter()}
1076 * @param {string} domains see ElemHideBase() 1076 * @param {string} domains see {@link ElemHideBase ElemHideBase()}
1077 * @param {string} selector see ElemHideBase() 1077 * @param {string} selector see {@link ElemHideBase ElemHideBase()}
1078 * @constructor 1078 * @constructor
1079 * @augments ElemHideBase 1079 * @augments ElemHideBase
1080 */ 1080 */
1081 function ElemHideEmulationFilter(text, domains, selector) 1081 function ElemHideEmulationFilter(text, domains, selector)
1082 { 1082 {
1083 ElemHideBase.call(this, text, domains, selector); 1083 ElemHideBase.call(this, text, domains, selector);
1084 } 1084 }
1085 exports.ElemHideEmulationFilter = ElemHideEmulationFilter; 1085 exports.ElemHideEmulationFilter = ElemHideEmulationFilter;
1086 1086
1087 ElemHideEmulationFilter.prototype = extend(ElemHideBase, { 1087 ElemHideEmulationFilter.prototype = extend(ElemHideBase, {
1088 type: "elemhideemulation" 1088 type: "elemhideemulation"
1089 }); 1089 });
OLDNEW
« no previous file with comments | « no previous file | lib/matcher.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld