| 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 |