| OLD | NEW |
| 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 "use strict"; | 7 "use strict"; |
| 8 | 8 |
| 9 let {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); | 9 let {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); |
| 10 | 10 |
| 11 let messageManager = require("messageManager"); | |
| 12 | |
| 13 let processID = Services.appinfo.processID; | 11 let processID = Services.appinfo.processID; |
| 14 let maxNodeID = 0; | 12 let maxNodeID = 0; |
| 15 let nodes = new Map(); | 13 let nodes = new Map(); |
| 16 | 14 |
| 17 messageManager.addMessageListener("ElemHideHelper:GetNodeInfo", onGetNodeInfo); | |
| 18 onShutdown.add(() => | |
| 19 { | |
| 20 messageManager.removeMessageListener("ElemHideHelper:GetNodeInfo", onGetNodeIn
fo); | |
| 21 }); | |
| 22 | |
| 23 function onGetNodeInfo(message) | |
| 24 { | |
| 25 if (Cu.isCrossProcessWrapper(message.objects.element)) | |
| 26 return; | |
| 27 | |
| 28 let nodeInfo = getNodeInfo(message.objects.element); | |
| 29 nodeInfo.messageId = message.data; | |
| 30 messageManager.sendAsyncMessage("ElemHideHelper:GetNodeInfo:Response", nodeInf
o); | |
| 31 } | |
| 32 | |
| 33 function getNodeInfo(node) | 15 function getNodeInfo(node) |
| 34 { | 16 { |
| 35 let nodeData = getNodeData(node); | 17 let nodeData = getNodeData(node); |
| 36 if (nodeData) | 18 if (nodeData) |
| 37 { | 19 { |
| 38 let nodeID = processID + "-" + (++maxNodeID); | 20 let nodeID = processID + "-" + (++maxNodeID); |
| 39 nodes.set(nodeID, {document: node.ownerDocument, style: null}); | 21 nodes.set(nodeID, {document: node.ownerDocument, style: null}); |
| 40 return { | 22 return { |
| 41 host: node.ownerDocument.defaultView.location.hostname, | 23 host: node.ownerDocument.defaultView.location.hostname, |
| 42 nodeData: nodeData, | 24 nodeData: nodeData, |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 | 84 |
| 103 result.customCSS = {selected: "", checked: false}; | 85 result.customCSS = {selected: "", checked: false}; |
| 104 return result; | 86 return result; |
| 105 } | 87 } |
| 106 | 88 |
| 107 function forgetNode(nodeID) | 89 function forgetNode(nodeID) |
| 108 { | 90 { |
| 109 nodes.delete(nodeID); | 91 nodes.delete(nodeID); |
| 110 } | 92 } |
| 111 exports.forgetNode = forgetNode; | 93 exports.forgetNode = forgetNode; |
| OLD | NEW |