Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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 | } |