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

Side by Side Diff: chrome/content/cssProperties.js

Issue 29354827: Issue 4394 - Create a filter class for element hiding emulation filters [WIP] (Closed)
Patch Set: Created Sept. 23, 2016, 4:21 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/elemHideEmulation.js » ('j') | lib/filterClasses.js » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 function splitSelector(selector) 1 function splitSelector(selector)
2 { 2 {
3 if (selector.indexOf(",") == -1) 3 if (selector.indexOf(",") == -1)
4 return [selector]; 4 return [selector];
5 5
6 var selectors = []; 6 var selectors = [];
7 var start = 0; 7 var start = 0;
8 var level = 0; 8 var level = 0;
9 var sep = ""; 9 var sep = "";
10 10
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 { 121 {
122 var stylesheet = event.target.sheet; 122 var stylesheet = event.target.sheet;
123 if (stylesheet) 123 if (stylesheet)
124 this.addSelectors([stylesheet]); 124 this.addSelectors([stylesheet]);
125 }, 125 },
126 126
127 load: function(callback) 127 load: function(callback)
128 { 128 {
129 this.getFiltersFunc(function(patterns) 129 this.getFiltersFunc(function(patterns)
130 { 130 {
131 this.patterns = patterns; 131 // We currently don't support any element hiding emulation feature except
kzar 2016/09/25 14:52:06 Shouldn't it be up to the callback to decide which
Felix Dahlke 2016/09/30 10:22:26 Yeah, that's a good point. My thinking was that we
kzar 2016/10/05 11:58:14 How about adding an extra parameter to the CSSProp
Felix Dahlke 2016/11/03 16:14:13 My thinking on this was that we don't have to pass
132 // for property selectors, so we remove rules that use other features.
133 // See https://issues.adblockplus.org/ticket/3143.
134 this.patterns = [];
135 for (var i = 0; i < patterns.length; i++)
136 {
137 var pattern = patterns[i];
138 if (pattern.features.length == 1 &&
139 pattern.features[0] == "PROPERTY_SELECTOR")
140 this.patterns.push(pattern);
141 }
142
132 callback(); 143 callback();
133 }.bind(this)); 144 }.bind(this));
134 }, 145 },
135 146
136 apply: function() 147 apply: function()
137 { 148 {
138 if (this.patterns.length > 0) 149 if (this.patterns.length > 0)
139 { 150 {
140 var document = this.window.document; 151 var document = this.window.document;
141 this.addSelectors(document.styleSheets); 152 this.addSelectors(document.styleSheets);
142 document.addEventListener("load", this.onLoad.bind(this), true); 153 document.addEventListener("load", this.onLoad.bind(this), true);
143 } 154 }
144 } 155 }
145 }; 156 };
OLDNEW
« no previous file with comments | « no previous file | lib/elemHideEmulation.js » ('j') | lib/filterClasses.js » ('J')

Powered by Google App Engine
This is Rietveld