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); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 scope[list[i]] = null; | 76 scope[list[i]] = null; |
77 } | 77 } |
78 require.scopes = null; | 78 require.scopes = null; |
79 addonData = null; | 79 addonData = null; |
80 } | 80 } |
81 | 81 |
82 function install(params, reason) {} | 82 function install(params, reason) {} |
83 | 83 |
84 function uninstall(params, reason) | 84 function uninstall(params, reason) |
85 { | 85 { |
86 {%- if hasVersionPref %} | 86 {%- if 'currentVersion' in jsonRequires.get('prefs.json', {}).get('defaults',
{}) %} |
87 const ADDON_UNINSTALL = 6; // https://developer.mozilla.org/en/Extensions/Boo
tstrapped_extensions#Reason_constants | 87 const ADDON_UNINSTALL = 6; // https://developer.mozilla.org/en/Extensions/Boo
tstrapped_extensions#Reason_constants |
88 if (reason == ADDON_UNINSTALL) | 88 if (reason == ADDON_UNINSTALL) |
89 { | 89 { |
90 // Users often uninstall/reinstall extension to "fix" issues. Clear current | 90 // Users often uninstall/reinstall extension to "fix" issues. Clear current |
91 // version number on uninstall to rerun first-run actions in this scenario. | 91 // version number on uninstall to rerun first-run actions in this scenario. |
92 Services.prefs.clearUserPref("extensions.{{metadata.get('general', 'basename
')}}.currentVersion"); | 92 Services.prefs.clearUserPref("extensions.{{metadata.get('general', 'basename
')}}.currentVersion"); |
93 } | 93 } |
94 {%- endif %} | 94 {%- endif %} |
95 } | 95 } |
96 | 96 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 }); | 166 }); |
167 {%- endif %} | 167 {%- endif %} |
168 Services.scriptloader.loadSubScript(url, scopes[module]); | 168 Services.scriptloader.loadSubScript(url, scopes[module]); |
169 {%- if 'info' in requires %} | 169 {%- if 'info' in requires %} |
170 } | 170 } |
171 {%- endif %} | 171 {%- endif %} |
172 } | 172 } |
173 return scopes[module].exports; | 173 return scopes[module].exports; |
174 } | 174 } |
175 require.scopes = Object.create(null); | 175 require.scopes = Object.create(null); |
| 176 {%- for name, data in jsonRequires.iteritems() %} |
| 177 require.scopes[{{name|json}}] = {exports: {{data|json}}}; |
| 178 {%- endfor %} |
176 | 179 |
177 {%- if hasChromeRequires %} | 180 {%- if hasChromeRequires %} |
178 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); | 181 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); |
179 | 182 |
180 let RequireObserver = | 183 let RequireObserver = |
181 { | 184 { |
182 observe: function(subject, topic, data) | 185 observe: function(subject, topic, data) |
183 { | 186 { |
184 if (topic == "{{metadata.get('general', 'basename')}}-require") | 187 if (topic == "{{metadata.get('general', 'basename')}}-require") |
185 { | 188 { |
186 subject.wrappedJSObject.exports = require(data); | 189 subject.wrappedJSObject.exports = require(data); |
187 } | 190 } |
188 }, | 191 }, |
189 | 192 |
190 QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObse
rver]) | 193 QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObse
rver]) |
191 }; | 194 }; |
192 {%- endif %} | 195 {%- endif %} |
OLD | NEW |