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 (function() | 7 (function() |
8 { | 8 { |
9 const Cu = Components.utils; | 9 const Cu = Components.utils; |
10 | 10 |
11 let rand = Components.stack.filename.replace(/.*\?/, ""); | 11 let rand = Components.stack.filename.replace(/.*\?/, ""); |
12 let module = "chrome://elemhidehelper/content/actor.jsm?" + rand; | 12 let module = "chrome://elemhidehelper/content/actor.jsm?" + rand; |
13 let {shutdown, getNodeInfo, togglePreview, forgetNode} = Cu.import(module, {})
; | 13 let {shutdown, getNodeInfo, togglePreview, forgetNode} = Cu.import(module, {})
; |
14 | 14 |
15 addMessageListener("ElemHideHelper:Shutdown", onShutdown); | 15 addMessageListener("ElemHideHelper:Shutdown", onShutdown); |
16 addMessageListener("ElemHideHelper:GetNodeInfo", onGetNodeInfo); | 16 addMessageListener("ElemHideHelper:GetNodeInfo", onGetNodeInfo); |
17 addMessageListener("ElemHideHelper:Preview", onTogglePreview); | 17 addMessageListener("ElemHideHelper:Preview", onTogglePreview); |
18 | 18 |
19 function onShutdown() | 19 function onShutdown() |
20 { | 20 { |
21 shutdown(); | 21 shutdown(); |
22 Cu.unload(module); | 22 try |
| 23 { |
| 24 Cu.unload(module); |
| 25 } |
| 26 catch (e) |
| 27 { |
| 28 Cu.reportError(e); |
| 29 } |
| 30 |
23 removeMessageListener("ElemHideHelper:Shutdown", onShutdown); | 31 removeMessageListener("ElemHideHelper:Shutdown", onShutdown); |
24 removeMessageListener("ElemHideHelper:GetNodeInfo", onGetNodeInfo); | 32 removeMessageListener("ElemHideHelper:GetNodeInfo", onGetNodeInfo); |
25 removeMessageListener("ElemHideHelper:Preview", onTogglePreview); | 33 removeMessageListener("ElemHideHelper:Preview", onTogglePreview); |
26 } | 34 } |
27 | 35 |
28 function onGetNodeInfo(message) | 36 function onGetNodeInfo(message) |
29 { | 37 { |
30 let nodeInfo = getNodeInfo(message.objects.element); | 38 let nodeInfo = getNodeInfo(message.objects.element); |
31 nodeInfo.messageId = message.data; | 39 nodeInfo.messageId = message.data; |
32 sendAsyncMessage("ElemHideHelper:GetNodeInfo:Response", nodeInfo); | 40 sendAsyncMessage("ElemHideHelper:GetNodeInfo:Response", nodeInfo); |
33 } | 41 } |
34 | 42 |
35 function onTogglePreview(message) | 43 function onTogglePreview(message) |
36 { | 44 { |
37 togglePreview(message.data.nodeID, message.data.stylesheetData); | 45 togglePreview(message.data.nodeID, message.data.stylesheetData); |
38 if (message.data.forgetNode) | 46 if (message.data.forgetNode) |
39 forgetNode(message.data.nodeID); | 47 forgetNode(message.data.nodeID); |
40 } | 48 } |
41 })(); | 49 })(); |
OLD | NEW |