Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 4 | |
michael@0 | 5 | this.EXPORTED_SYMBOLS = ['Weave']; |
michael@0 | 6 | |
michael@0 | 7 | this.Weave = {}; |
michael@0 | 8 | Components.utils.import("resource://services-sync/constants.js", Weave); |
michael@0 | 9 | let lazies = { |
michael@0 | 10 | "jpakeclient.js": ["JPAKEClient", "SendCredentialsController"], |
michael@0 | 11 | "notifications.js": ["Notifications", "Notification", "NotificationButton"], |
michael@0 | 12 | "service.js": ["Service"], |
michael@0 | 13 | "status.js": ["Status"], |
michael@0 | 14 | "util.js": ['Utils', 'Svc'] |
michael@0 | 15 | }; |
michael@0 | 16 | |
michael@0 | 17 | function lazyImport(module, dest, props) { |
michael@0 | 18 | function getter(prop) function() { |
michael@0 | 19 | let ns = {}; |
michael@0 | 20 | Components.utils.import(module, ns); |
michael@0 | 21 | delete dest[prop]; |
michael@0 | 22 | return dest[prop] = ns[prop]; |
michael@0 | 23 | }; |
michael@0 | 24 | props.forEach(function(prop) dest.__defineGetter__(prop, getter(prop))); |
michael@0 | 25 | } |
michael@0 | 26 | |
michael@0 | 27 | for (let mod in lazies) { |
michael@0 | 28 | lazyImport("resource://services-sync/" + mod, Weave, lazies[mod]); |
michael@0 | 29 | } |