| OLD | NEW | 
|---|
| 1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public | 
| 2  * License, v. 2.0. If a copy of the MPL was not distributed with this | 2  * License, v. 2.0. If a copy of the MPL was not distributed with this | 
| 3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 
| 4 | 4 | 
| 5 const Cc = Components.classes; | 5 const Cc = Components.classes; | 
| 6 const Ci = Components.interfaces; | 6 const Ci = Components.interfaces; | 
| 7 const Cr = Components.results; | 7 const Cr = Components.results; | 
| 8 const Cu = Components.utils; | 8 const Cu = Components.utils; | 
| 9 | 9 | 
| 10 let {Services, atob, btoa, File, TextDecoder, TextEncoder} = Cu.import("resource
     ://gre/modules/Services.jsm", null); | 10 let {Services, atob, btoa, File, TextDecoder, TextEncoder} = Cu.import("resource
     ://gre/modules/Services.jsm", null); | 
| 11 | 11 | 
| 12 {%- if hasXMLHttpRequest %} | 12 {%- if hasXMLHttpRequest %} | 
| 13 let XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttpreque
     st;1", "nsIXMLHttpRequest"); | 13 let XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttpreque
     st;1", "nsIXMLHttpRequest"); | 
| 14 {%- endif %} | 14 {%- endif %} | 
| 15 | 15 | 
| 16 let addonData = null; | 16 let addonData = null; | 
| 17 | 17 | 
| 18 function startup(params, reason) | 18 function startup(params, reason) | 
| 19 { | 19 { | 
| 20   addonData = params; | 20   addonData = params; | 
| 21 | 21 | 
| 22   {%- if hasChromeRequires %} | 22   {%- if hasChromeRequires %} | 
| 23   Services.obs.addObserver(RequireObserver, "{{metadata.get('general', 'basename
     ')}}-require", true); | 23   Services.obs.addObserver(RequireObserver, "{{metadata.get('general', 'basename
     ')}}-require", true); | 
| 24   onShutdown.add(function() Services.obs.removeObserver(RequireObserver, "{{meta
     data.get('general', 'basename')}}-require")); | 24   onShutdown.add(() => Services.obs.removeObserver(RequireObserver, "{{metadata.
     get('general', 'basename')}}-require")); | 
| 25   {%- set hasShutdownHandlers = True %} | 25   {%- set hasShutdownHandlers = True %} | 
| 26   {%- endif %} | 26   {%- endif %} | 
| 27 | 27 | 
| 28   require("main"); | 28   require("main"); | 
| 29 } | 29 } | 
| 30 | 30 | 
| 31 function shutdown(params, reason) | 31 function shutdown(params, reason) | 
| 32 { | 32 { | 
| 33   {%- if chromeWindows %} | 33   {%- if chromeWindows %} | 
| 34   let windowNames = {{chromeWindows|json}}; | 34   let windowNames = {{chromeWindows|json}}; | 
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 162         wantXrays: false | 162         wantXrays: false | 
| 163       }); | 163       }); | 
| 164       {%- endif %} | 164       {%- endif %} | 
| 165       Services.scriptloader.loadSubScript(url, scopes[module]); | 165       Services.scriptloader.loadSubScript(url, scopes[module]); | 
| 166     {%- if 'info' in requires %} | 166     {%- if 'info' in requires %} | 
| 167     } | 167     } | 
| 168     {%- endif %} | 168     {%- endif %} | 
| 169   } | 169   } | 
| 170   return scopes[module].exports; | 170   return scopes[module].exports; | 
| 171 } | 171 } | 
| 172 require.scopes = {__proto__: null}; | 172 require.scopes = Object.create(null); | 
| 173 | 173 | 
| 174 {%- if hasChromeRequires %} | 174 {%- if hasChromeRequires %} | 
| 175 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); | 175 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); | 
| 176 | 176 | 
| 177 let RequireObserver = | 177 let RequireObserver = | 
| 178 { | 178 { | 
| 179   observe: function(subject, topic, data) | 179   observe: function(subject, topic, data) | 
| 180   { | 180   { | 
| 181     if (topic == "{{metadata.get('general', 'basename')}}-require") | 181     if (topic == "{{metadata.get('general', 'basename')}}-require") | 
| 182     { | 182     { | 
| 183       subject.wrappedJSObject.exports = require(data); | 183       subject.wrappedJSObject.exports = require(data); | 
| 184     } | 184     } | 
| 185   }, | 185   }, | 
| 186 | 186 | 
| 187   QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObse
     rver]) | 187   QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObse
     rver]) | 
| 188 }; | 188 }; | 
| 189 {%- endif %} | 189 {%- endif %} | 
| OLD | NEW | 
|---|