Left: | ||
Right: |
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-2017 eyeo GmbH | 3 * Copyright (C) 2006-2017 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 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
423 | 423 |
424 this.elemHideEmulation = new ElemHideEmulation( | 424 this.elemHideEmulation = new ElemHideEmulation( |
425 window, | 425 window, |
426 callback => | 426 callback => |
427 { | 427 { |
428 ext.backgroundPage.sendMessage({ | 428 ext.backgroundPage.sendMessage({ |
429 type: "filters.get", | 429 type: "filters.get", |
430 what: "elemhideemulation" | 430 what: "elemhideemulation" |
431 }, callback); | 431 }, callback); |
432 }, | 432 }, |
433 this.addSelectors.bind(this) | 433 this.addSelectors.bind(this), |
434 this.hideElements.bind(this) | |
434 ); | 435 ); |
435 } | 436 } |
436 ElemHide.prototype = { | 437 ElemHide.prototype = { |
437 selectorGroupSize: 200, | 438 selectorGroupSize: 200, |
438 | 439 |
439 createShadowTree() | 440 createShadowTree() |
440 { | 441 { |
441 // Use Shadow DOM if available as to not mess with with web pages that | 442 // Use Shadow DOM if available as to not mess with with web pages that |
442 // rely on the order of their own <style> tags (#309). However, creating | 443 // rely on the order of their own <style> tags (#309). However, creating |
443 // a shadow root breaks running CSS transitions. So we have to create | 444 // a shadow root breaks running CSS transitions. So we have to create |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
534 i, i + this.selectorGroupSize | 535 i, i + this.selectorGroupSize |
535 ).join(", "); | 536 ).join(", "); |
536 this.style.sheet.insertRule(selector + "{display: none !important;}", | 537 this.style.sheet.insertRule(selector + "{display: none !important;}", |
537 this.style.sheet.cssRules.length); | 538 this.style.sheet.cssRules.length); |
538 } | 539 } |
539 | 540 |
540 if (this.tracer) | 541 if (this.tracer) |
541 this.tracer.addSelectors(selectors, filters || selectors); | 542 this.tracer.addSelectors(selectors, filters || selectors); |
542 }, | 543 }, |
543 | 544 |
545 hideElements(elements, filters) | |
546 { | |
547 for (let element of elements) | |
548 { | |
549 element.style.display = "none"; | |
Sebastian Noack
2017/04/04 10:14:45
We should use the same logic as we have in checkCo
hub
2017/04/05 09:05:53
Done.
| |
550 } | |
551 // XXX first arg is supposed to be selectors | |
552 if (this.tracer) | |
553 this.tracer.addSelectors(filters, filters); | |
Sebastian Noack
2017/04/04 10:14:45
ElementHidingTracer.addSelectors() will search for
hub
2017/04/05 09:05:53
Done.
| |
554 }, | |
555 | |
544 apply() | 556 apply() |
545 { | 557 { |
546 ext.backgroundPage.sendMessage({type: "get-selectors"}, response => | 558 ext.backgroundPage.sendMessage({type: "get-selectors"}, response => |
547 { | 559 { |
548 if (this.tracer) | 560 if (this.tracer) |
549 this.tracer.disconnect(); | 561 this.tracer.disconnect(); |
550 this.tracer = null; | 562 this.tracer = null; |
551 | 563 |
552 if (this.style && this.style.parentElement) | 564 if (this.style && this.style.parentElement) |
553 this.style.parentElement.removeChild(this.style); | 565 this.style.parentElement.removeChild(this.style); |
(...skipping 21 matching lines...) Expand all Loading... | |
575 checkCollapse(event.target); | 587 checkCollapse(event.target); |
576 }, true); | 588 }, true); |
577 | 589 |
578 document.addEventListener("load", event => | 590 document.addEventListener("load", event => |
579 { | 591 { |
580 let element = event.target; | 592 let element = event.target; |
581 if (/^i?frame$/.test(element.localName)) | 593 if (/^i?frame$/.test(element.localName)) |
582 checkCollapse(element); | 594 checkCollapse(element); |
583 }, true); | 595 }, true); |
584 } | 596 } |
OLD | NEW |