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

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

Issue 29323107: Issue 2816 - Restore Preview functionality (Closed)
Patch Set: Created July 30, 2015, 1:09 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
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;
11 let nodeID;
11 let selectedNode = null; 12 let selectedNode = null;
12 let advancedMode = false; 13 let advancedMode = false;
13 let treeView = null; 14 let treeView = null;
14 let stylesheetData; 15 let stylesheetData;
15 let previewStyle = null; 16 let previewStyle = null;
16 let doc;
17 17
18 let abpURL = Cc["@adblockplus.org/abp/public;1"].getService(Ci.nsIURI); 18 let abpURL = Cc["@adblockplus.org/abp/public;1"].getService(Ci.nsIURI);
19 Cu.import(abpURL.spec); 19 Cu.import(abpURL.spec);
20 20
21 /******************* 21 /*******************
22 * TreeView object * 22 * TreeView object *
23 *******************/ 23 *******************/
24 24
25 function TreeView(tree) { 25 function TreeView(tree) {
26 var origView = tree.view; 26 var origView = tree.view;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 function TreeView_getCellProperties(row, col) { 77 function TreeView_getCellProperties(row, col) {
78 this.getRowProperties(row); 78 this.getRowProperties(row);
79 } 79 }
80 80
81 /********************* 81 /*********************
82 * General functions * 82 * General functions *
83 *********************/ 83 *********************/
84 84
85 function init() 85 function init()
86 { 86 {
87 nodeData = window.arguments[0]; 87 let host;
88 let host = window.arguments[1]; 88 ({host, nodeData, nodeID} = window.arguments[0]);
89 89
90 // Check whether element hiding group is disabled 90 // Check whether element hiding group is disabled
91 let subscription = AdblockPlus.getSubscription("~eh~"); 91 let subscription = AdblockPlus.getSubscription("~eh~");
92 if (subscription && subscription.disabled) 92 if (subscription && subscription.disabled)
93 { 93 {
94 let warning = document.getElementById("groupDisabledWarning"); 94 let warning = document.getElementById("groupDisabledWarning");
95 if (/\?1\?/.test(warning.textContent)) 95 if (/\?1\?/.test(warning.textContent))
96 warning.textContent = warning.textContent.replace(/\?1\?/g, subscription.t itle); 96 warning.textContent = warning.textContent.replace(/\?1\?/g, subscription.t itle);
97 warning.hidden = false; 97 warning.hidden = false;
98 } 98 }
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 304
305 stylesheetData = expression + "{display: none !important;}"; 305 stylesheetData = expression + "{display: none !important;}";
306 expression = domainData.selected + "##" + expression; 306 expression = domainData.selected + "##" + expression;
307 307
308 document.getElementById("expression").value = expression; 308 document.getElementById("expression").value = expression;
309 309
310 var tree = document.getElementById("nodes-tree"); 310 var tree = document.getElementById("nodes-tree");
311 if (tree.view && tree.view.selection) 311 if (tree.view && tree.view.selection)
312 tree.treeBoxObject.invalidateRow(tree.view.selection.currentIndex); 312 tree.treeBoxObject.invalidateRow(tree.view.selection.currentIndex);
313 313
314 if (previewStyle) 314 if (document.getElementById("preview").checked)
315 previewStyle.textContent = stylesheetData; 315 togglePreview(true);
316 } 316 }
317 317
318 function escapeChar(dummy, match) 318 function escapeChar(dummy, match)
319 { 319 {
320 return "\\" + match.charCodeAt(0).toString(16) + " "; 320 return "\\" + match.charCodeAt(0).toString(16) + " ";
321 } 321 }
322 322
323 function fillDomains(domainData) { 323 function fillDomains(domainData) {
324 var list = document.getElementById("domainGroup"); 324 var list = document.getElementById("domainGroup");
325 325
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 } 484 }
485 485
486 if (advancedMode) 486 if (advancedMode)
487 { 487 {
488 // Add custom CSS entry 488 // Add custom CSS entry
489 node = createAttribute("advanced", nodeData.customCSS, list.getAttribute("_l abelcustom"), nodeData.customCSS.selected); 489 node = createAttribute("advanced", nodeData.customCSS, list.getAttribute("_l abelcustom"), nodeData.customCSS.selected);
490 list.appendChild(node); 490 list.appendChild(node);
491 } 491 }
492 } 492 }
493 493
494 function togglePreview(preview) { 494 function togglePreview(preview, forgetNode)
495 if (preview) { 495 {
496 if (!previewStyle || !previewStyle.parentNode) { 496 Services.mm.broadcastAsyncMessage("ElemHideHelper:Preview", {
497 previewStyle = doc.createElementNS("http://www.w3.org/1999/xhtml", "style" ); 497 nodeID: nodeID,
498 previewStyle.setAttribute("type", "text/css"); 498 stylesheetData: preview ? stylesheetData : null,
499 doc.documentElement.appendChild(previewStyle); 499 forgetNode: !!forgetNode
500 } 500 });
501 previewStyle.textContent = stylesheetData;
502 }
503 else {
504 try
505 {
506 if (previewStyle && previewStyle.parentNode)
507 previewStyle.parentNode.removeChild(previewStyle);
508 }
509 catch (e)
510 {
511 // if the window was closed (reloaded) we end up with dead object referenc e
512 // https://bugzilla.mozilla.org/show_bug.cgi?id=695480
513 // just ignore this case
514 }
515 previewStyle = null;
516 }
517 } 501 }
518 502
519 function changeDomain(node) { 503 function changeDomain(node) {
520 domainData.selected = node.getAttribute("value"); 504 domainData.selected = node.getAttribute("value");
521 updateExpression(); 505 updateExpression();
522 } 506 }
523 507
524 function toggleAttr(node) { 508 function toggleAttr(node) {
525 node.attr.checked = node.checked; 509 node.attr.checked = node.checked;
526 updateExpression(); 510 updateExpression();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 565
582 fillAttributes(item.nodeData); 566 fillAttributes(item.nodeData);
583 } 567 }
584 568
585 function addExpression() 569 function addExpression()
586 { 570 {
587 AdblockPlus.addPatterns([document.getElementById("expression").value]); 571 AdblockPlus.addPatterns([document.getElementById("expression").value]);
588 572
589 togglePreview(false); 573 togglePreview(false);
590 } 574 }
OLDNEW

Powered by Google App Engine
This is Rietveld