| Left: | ||
| Right: |
| 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} = Cu.import("resource://gre/modules/Services.jsm", {}); |
| 11 | |
| 12 Cu.importGlobalProperties(["atob", "btoa", "File", "URL", | |
| 13 "TextDecoder", "TextEncoder"]); | |
| 11 | 14 |
| 12 {%- if hasXMLHttpRequest %} | 15 {%- if hasXMLHttpRequest %} |
| 13 let XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttpreque st;1", "nsIXMLHttpRequest"); | 16 Cu.importGlobalProperties(["XMLHttpRequest"]); |
| 14 {%- endif %} | 17 {%- endif %} |
| 15 | 18 |
| 16 let addonData = null; | 19 let addonData = null; |
| 17 | 20 |
| 18 function startup(params, reason) | 21 function startup(params, reason) |
| 19 { | 22 { |
| 20 addonData = params; | 23 addonData = params; |
| 21 | 24 |
| 22 {%- if hasChromeRequires %} | 25 {%- if hasChromeRequires %} |
| 23 Services.obs.addObserver(RequireObserver, "{{metadata.get('general', 'basename ')}}-require", true); | 26 Services.obs.addObserver(RequireObserver, "{{metadata.get('general', 'basename ')}}-require", true); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 135 applicationVersion: appInfo.version, | 138 applicationVersion: appInfo.version, |
| 136 platform: "gecko", | 139 platform: "gecko", |
| 137 platformVersion: appInfo.platformVersion | 140 platformVersion: appInfo.platformVersion |
| 138 }; | 141 }; |
| 139 } | 142 } |
| 140 else | 143 else |
| 141 { | 144 { |
| 142 {%- endif %} | 145 {%- endif %} |
| 143 let url = addonData.resourceURI.spec + "lib/" + module + ".js"; | 146 let url = addonData.resourceURI.spec + "lib/" + module + ".js"; |
| 144 scopes[module] = { | 147 scopes[module] = { |
| 145 Cc: Cc, | 148 Cc, Ci, Cr, Cu, atob, btoa, File, URL, require, |
|
saroyanm
2016/03/18 13:25:44
Why do we need to make this change ?
Wladimir Palant
2016/03/18 13:33:47
I don't but since I am cleaning up already...
| |
| 146 Ci: Ci, | |
| 147 Cr: Cr, | |
| 148 Cu: Cu, | |
| 149 atob: atob, | |
| 150 btoa: btoa, | |
| 151 File: File, | |
| 152 require: require, | |
| 153 {% if hasShutdownHandlers %} | 149 {% if hasShutdownHandlers %} |
| 154 onShutdown: onShutdown, | 150 onShutdown, |
| 155 {% endif %} | 151 {% endif %} |
| 156 {%- if hasXMLHttpRequest %} | 152 {%- if hasXMLHttpRequest %} |
| 157 XMLHttpRequest: XMLHttpRequest, | 153 XMLHttpRequest, |
| 158 {% endif %} | 154 {% endif %} |
| 159 exports: {}}; | 155 exports: {}}; |
| 160 {%- if multicompartment %} | 156 {%- if multicompartment %} |
| 161 let principal = Cc["@mozilla.org/systemprincipal;1"].getService(Ci.nsIPrin cipal); | 157 let principal = Cc["@mozilla.org/systemprincipal;1"].getService(Ci.nsIPrin cipal); |
| 162 scopes[module] = new Cu.Sandbox(principal, { | 158 scopes[module] = new Cu.Sandbox(principal, { |
| 163 sandboxName: url, | 159 sandboxName: url, |
| 164 sandboxPrototype: scopes[module], | 160 sandboxPrototype: scopes[module], |
| 165 wantXrays: false | 161 wantXrays: false |
| 166 }); | 162 }); |
| 167 {%- endif %} | 163 {%- endif %} |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 186 { | 182 { |
| 187 if (topic == "{{metadata.get('general', 'basename')}}-require") | 183 if (topic == "{{metadata.get('general', 'basename')}}-require") |
| 188 { | 184 { |
| 189 subject.wrappedJSObject.exports = require(data); | 185 subject.wrappedJSObject.exports = require(data); |
| 190 } | 186 } |
| 191 }, | 187 }, |
| 192 | 188 |
| 193 QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObse rver]) | 189 QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObse rver]) |
| 194 }; | 190 }; |
| 195 {%- endif %} | 191 {%- endif %} |
| OLD | NEW |