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

Side by Side Diff: lib/content/elemHideEmulation.js

Issue 29847558: Issue 6504 - Remove useInlineStyles for now (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Remove one more reference to useInlineStyles Created Aug. 15, 2018, 7:47 a.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 | no next file » | 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 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 { 597 {
598 return patterns.some(pattern => pattern.dependsOnCharacterData); 598 return patterns.some(pattern => pattern.dependsOnCharacterData);
599 } 599 }
600 600
601 function ElemHideEmulation(addSelectorsFunc, hideElemsFunc) 601 function ElemHideEmulation(addSelectorsFunc, hideElemsFunc)
602 { 602 {
603 this.document = document; 603 this.document = document;
604 this.addSelectorsFunc = addSelectorsFunc; 604 this.addSelectorsFunc = addSelectorsFunc;
605 this.hideElemsFunc = hideElemsFunc; 605 this.hideElemsFunc = hideElemsFunc;
606 this.observer = new MutationObserver(this.observe.bind(this)); 606 this.observer = new MutationObserver(this.observe.bind(this));
607 this.useInlineStyles = true;
608 } 607 }
609 608
610 ElemHideEmulation.prototype = { 609 ElemHideEmulation.prototype = {
611 isSameOrigin(stylesheet) 610 isSameOrigin(stylesheet)
612 { 611 {
613 try 612 try
614 { 613 {
615 return new URL(stylesheet.href).origin == this.document.location.origin; 614 return new URL(stylesheet.href).origin == this.document.location.origin;
616 } 615 }
617 catch (e) 616 catch (e)
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 786
788 let evaluationTargets = targets; 787 let evaluationTargets = targets;
789 788
790 // If the pattern appears to contain any sibling combinators, we can't 789 // If the pattern appears to contain any sibling combinators, we can't
791 // easily optimize based on the mutation targets. Since this is a 790 // easily optimize based on the mutation targets. Since this is a
792 // special case, skip the optimization. By setting it to null here we 791 // special case, skip the optimization. By setting it to null here we
793 // make sure we process the entire DOM. 792 // make sure we process the entire DOM.
794 if (pattern.maybeContainsSiblingCombinators) 793 if (pattern.maybeContainsSiblingCombinators)
795 evaluationTargets = null; 794 evaluationTargets = null;
796 795
797 // Ignore mutation targets when using style sheets, because we may have
798 // to update all the CSS selectors.
799 if (!this.useInlineStyles)
800 evaluationTargets = null;
801
802 generator = evaluate(pattern.selectors, 0, "", 796 generator = evaluate(pattern.selectors, 0, "",
803 this.document, cssStyles, evaluationTargets); 797 this.document, cssStyles, evaluationTargets);
804 } 798 }
805 for (let selector of generator) 799 for (let selector of generator)
806 { 800 {
807 if (selector != null) 801 if (selector != null)
808 { 802 {
809 if (!this.useInlineStyles) 803 for (let element of this.document.querySelectorAll(selector))
810 { 804 {
811 selectors.push(selector); 805 elements.push(element);
812 selectorFilters.push(pattern.text); 806 elementFilters.push(pattern.text);
813 }
814 else
815 {
816 for (let element of this.document.querySelectorAll(selector))
817 {
818 elements.push(element);
819 elementFilters.push(pattern.text);
820 }
821 } 807 }
822 } 808 }
823 if (performance.now() - cycleStart > MAX_SYNCHRONOUS_PROCESSING_TIME) 809 if (performance.now() - cycleStart > MAX_SYNCHRONOUS_PROCESSING_TIME)
824 { 810 {
825 setTimeout(processPatterns, 0); 811 setTimeout(processPatterns, 0);
826 return; 812 return;
827 } 813 }
828 } 814 }
829 pattern = null; 815 pattern = null;
830 return processPatterns(); 816 return processPatterns();
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 characterData: shouldObserveCharacterData(this.patterns), 965 characterData: shouldObserveCharacterData(this.patterns),
980 subtree: true 966 subtree: true
981 } 967 }
982 ); 968 );
983 this.document.addEventListener("load", this.onLoad.bind(this), true); 969 this.document.addEventListener("load", this.onLoad.bind(this), true);
984 } 970 }
985 } 971 }
986 }; 972 };
987 973
988 exports.ElemHideEmulation = ElemHideEmulation; 974 exports.ElemHideEmulation = ElemHideEmulation;
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld