LEFT | RIGHT |
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 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 } | 341 } |
342 } | 342 } |
343 } | 343 } |
344 | 344 |
345 class ContainsSelector | 345 class ContainsSelector |
346 { | 346 { |
347 constructor(textContent) | 347 constructor(textContent) |
348 { | 348 { |
349 this.dependsOnDOM = true; | 349 this.dependsOnDOM = true; |
350 this.dependsOnCharacterData = true; | 350 this.dependsOnCharacterData = true; |
351 this._regexp = makeRegExpParameter( | 351 |
352 textContent.replace("\\7B ", "{").replace("\\7D ", "}")); | 352 this._regexp = makeRegExpParameter(textContent); |
353 } | 353 } |
354 | 354 |
355 *getSelectors(prefix, subtree, styles, targets) | 355 *getSelectors(prefix, subtree, styles, targets) |
356 { | 356 { |
357 for (let element of this.getElements(prefix, subtree, styles, targets)) | 357 for (let element of this.getElements(prefix, subtree, styles, targets)) |
358 yield [makeSelector(element), subtree]; | 358 yield [makeSelector(element), subtree]; |
359 } | 359 } |
360 | 360 |
361 *getElements(prefix, subtree, styles, targets) | 361 *getElements(prefix, subtree, styles, targets) |
362 { | 362 { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 { | 404 { |
405 constructor(propertyExpression) | 405 constructor(propertyExpression) |
406 { | 406 { |
407 this.dependsOnStyles = true; | 407 this.dependsOnStyles = true; |
408 this.dependsOnDOM = true; | 408 this.dependsOnDOM = true; |
409 | 409 |
410 let regexpString; | 410 let regexpString; |
411 if (propertyExpression.length >= 2 && propertyExpression[0] == "/" && | 411 if (propertyExpression.length >= 2 && propertyExpression[0] == "/" && |
412 propertyExpression[propertyExpression.length - 1] == "/") | 412 propertyExpression[propertyExpression.length - 1] == "/") |
413 { | 413 { |
414 regexpString = propertyExpression.slice(1, -1) | 414 regexpString = propertyExpression.slice(1, -1); |
415 .replace("\\7B ", "{").replace("\\7D ", "}"); | |
416 } | 415 } |
417 else | 416 else |
418 regexpString = filterToRegExp(propertyExpression); | 417 regexpString = filterToRegExp(propertyExpression); |
419 | 418 |
420 this._regexp = new RegExp(regexpString, "i"); | 419 this._regexp = new RegExp(regexpString, "i"); |
421 } | 420 } |
422 | 421 |
423 *findPropsSelectors(styles, prefix, regexp) | 422 *findPropsSelectors(styles, prefix, regexp) |
424 { | 423 { |
425 for (let style of styles) | 424 for (let style of styles) |
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 characterData: shouldObserveCharacterData(this.patterns), | 964 characterData: shouldObserveCharacterData(this.patterns), |
966 subtree: true | 965 subtree: true |
967 } | 966 } |
968 ); | 967 ); |
969 this.document.addEventListener("load", this.onLoad.bind(this), true); | 968 this.document.addEventListener("load", this.onLoad.bind(this), true); |
970 } | 969 } |
971 } | 970 } |
972 } | 971 } |
973 | 972 |
974 exports.ElemHideEmulation = ElemHideEmulation; | 973 exports.ElemHideEmulation = ElemHideEmulation; |
LEFT | RIGHT |