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

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

Issue 29322778: Issue 2816 - Partial fix for EHH button in inspector tool, preview functionality still broken (Closed)
Patch Set: Another work-in-progress approach, previous changes reverted Created July 29, 2015, 11:58 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 | « chrome/content/actor.jsm ('k') | chrome/content/frameScript.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 Source Code is subject to the terms of the Mozilla Public License 2 * This Source Code is subject to the terms of the Mozilla Public License
3 * version 2.0 (the "License"). You can obtain a copy of the License at 3 * version 2.0 (the "License"). You can obtain a copy of the License at
4 * http://mozilla.org/MPL/2.0/. 4 * http://mozilla.org/MPL/2.0/.
5 */ 5 */
6 6
7 let {Prefs} = require("prefs"); 7 let {Prefs} = require("prefs");
8 8
9 let domainData; 9 let domainData;
10 let nodeData; 10 let nodeData;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 121
122 function TreeView_getCellProperties(row, col) { 122 function TreeView_getCellProperties(row, col) {
123 this.getRowProperties(row); 123 this.getRowProperties(row);
124 } 124 }
125 125
126 /********************* 126 /*********************
127 * General functions * 127 * General functions *
128 *********************/ 128 *********************/
129 129
130 function init() { 130 function init() {
131 var element = window.arguments[0]; 131 let node = window.arguments[0];
132 doc = element.ownerDocument; 132 let domain = window.arguments[1];
133 var wnd = doc.defaultView; 133 if (node instanceof Node)
134 {
135 doc = node.ownerDocument;
136 domain = doc.defaultView.location.hostname;
137 nodeData = new NodeData(node);
138 }
139 else
140 nodeData = node;
134 141
135 // Check whether element hiding group is disabled 142 // Check whether element hiding group is disabled
136 let subscription = AdblockPlus.getSubscription("~eh~"); 143 let subscription = AdblockPlus.getSubscription("~eh~");
137 if (subscription && subscription.disabled) 144 if (subscription && subscription.disabled)
138 { 145 {
139 let warning = document.getElementById("groupDisabledWarning"); 146 let warning = document.getElementById("groupDisabledWarning");
140 if (/\?1\?/.test(warning.textContent)) 147 if (/\?1\?/.test(warning.textContent))
141 warning.textContent = warning.textContent.replace(/\?1\?/g, subscription.t itle); 148 warning.textContent = warning.textContent.replace(/\?1\?/g, subscription.t itle);
142 warning.hidden = false; 149 warning.hidden = false;
143 } 150 }
144 151
145 nodeData = new NodeData(element);
146 nodeData.tagName.checked = true; 152 nodeData.tagName.checked = true;
147 if (nodeData.attributes.length > 0) 153 if (nodeData.attributes.length > 0)
148 { 154 {
149 let maxLen = 0; 155 let maxLen = 0;
150 let bestAttr = null; 156 let bestAttr = null;
151 for (let i = 0; i < nodeData.attributes.length; i++) 157 for (let i = 0; i < nodeData.attributes.length; i++)
152 { 158 {
153 let len = nodeData.attributes[i].value.length; 159 let len = nodeData.attributes[i].value.length;
154 if ((nodeData.attributes[i].name == "id" || nodeData.attributes[i].name == "class") && len) 160 if ((nodeData.attributes[i].name == "id" || nodeData.attributes[i].name == "class") && len)
155 { 161 {
156 len = 0x7FFFFFFF; 162 len = 0x7FFFFFFF;
157 nodeData.tagName.checked = false; 163 nodeData.tagName.checked = false;
158 } 164 }
159 if (len > maxLen) 165 if (len > maxLen)
160 { 166 {
161 maxLen = len; 167 maxLen = len;
162 bestAttr = nodeData.attributes[i]; 168 bestAttr = nodeData.attributes[i];
163 } 169 }
164 } 170 }
165 if (bestAttr) 171 if (bestAttr)
166 { 172 {
167 bestAttr.selected = bestAttr.value; 173 bestAttr.selected = bestAttr.value;
168 bestAttr.checked = true; 174 bestAttr.checked = true;
169 } 175 }
170 } 176 }
171 177
172 let domain = wnd.location.hostname;
173 let selectedDomain; 178 let selectedDomain;
174 switch (Prefs.composer_defaultDomain) 179 switch (Prefs.composer_defaultDomain)
175 { 180 {
176 case 0: 181 case 0:
177 selectedDomain = ""; 182 selectedDomain = "";
178 break; 183 break;
179 case 1: 184 case 1:
180 try 185 try
181 { 186 {
182 // EffectiveTLDService will throw for IP addresses, just go to the next case then 187 // EffectiveTLDService will throw for IP addresses, just go to the next case then
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 var escapedName = escapeName(attr.name); 240 var escapedName = escapeName(attr.name);
236 if (attr.selected != "") 241 if (attr.selected != "")
237 { 242 {
238 var op = "*="; 243 var op = "*=";
239 if (attr.selected == attr.value) 244 if (attr.selected == attr.value)
240 op = "="; 245 op = "=";
241 else if (attr.value.substr(0, attr.selected.length) == attr.selected) 246 else if (attr.value.substr(0, attr.selected.length) == attr.selected)
242 op = "^="; 247 op = "^=";
243 else if (attr.value.substr(attr.value.length - attr.selected.length) = = attr.selected) 248 else if (attr.value.substr(attr.value.length - attr.selected.length) = = attr.selected)
244 op = "$="; 249 op = "$=";
245 250
246 let useFallback = false; 251 let useFallback = false;
247 if (attr.name == "id" && op == "=") 252 if (attr.name == "id" && op == "=")
248 expression += "#" + escapeName(attr.selected).replace(/^([^a-zA-Z\\] )/, escapeChar).replace(/\\(\s)$/, escapeChar); 253 expression += "#" + escapeName(attr.selected).replace(/^([^a-zA-Z\\] )/, escapeChar).replace(/\\(\s)$/, escapeChar);
249 else if (attr.name == "class" && /\S/.test(attr.selected)) 254 else if (attr.name == "class" && /\S/.test(attr.selected))
250 { 255 {
251 let knownClasses = new Set(attr.value.split(/\s+/)); 256 let knownClasses = new Set(attr.value.split(/\s+/));
252 let classes = attr.selected.split(/\s+/).filter(cls => cls != ""); 257 let classes = attr.selected.split(/\s+/).filter(cls => cls != "");
253 if (classes.every(cls => knownClasses.has(cls))) 258 if (classes.every(cls => knownClasses.has(cls)))
254 expression += "." + classes.map(escapeName).join("."); 259 expression += "." + classes.map(escapeName).join(".");
255 else 260 else
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 633
629 fillAttributes(item.nodeData); 634 fillAttributes(item.nodeData);
630 } 635 }
631 636
632 function addExpression() 637 function addExpression()
633 { 638 {
634 AdblockPlus.addPatterns([document.getElementById("expression").value]); 639 AdblockPlus.addPatterns([document.getElementById("expression").value]);
635 640
636 togglePreview(false); 641 togglePreview(false);
637 } 642 }
OLDNEW
« no previous file with comments | « chrome/content/actor.jsm ('k') | chrome/content/frameScript.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld