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 |