1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/metro/base/content/startui/startui-scripts.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,83 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +"use strict"; 1.9 + 1.10 +let Cc = Components.classes; 1.11 +let Ci = Components.interfaces; 1.12 +let Cu = Components.utils; 1.13 +let Cr = Components.results; 1.14 + 1.15 +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); 1.16 +Cu.import("resource://gre/modules/Services.jsm"); 1.17 + 1.18 +XPCOMUtils.defineLazyModuleGetter(this, "PlacesUtils", 1.19 + "resource://gre/modules/PlacesUtils.jsm"); 1.20 + 1.21 +XPCOMUtils.defineLazyModuleGetter(this, "NetUtil", 1.22 + "resource://gre/modules/NetUtil.jsm"); 1.23 + 1.24 +XPCOMUtils.defineLazyModuleGetter(this, "NewTabUtils", 1.25 + "resource://gre/modules/NewTabUtils.jsm"); 1.26 + 1.27 +XPCOMUtils.defineLazyModuleGetter(this, "Promise", 1.28 + "resource://gre/modules/Promise.jsm"); 1.29 + 1.30 +XPCOMUtils.defineLazyModuleGetter(this, "Task", 1.31 + "resource://gre/modules/Task.jsm"); 1.32 + 1.33 +XPCOMUtils.defineLazyModuleGetter(this, "CrossSlide", 1.34 + "resource:///modules/CrossSlide.jsm"); 1.35 + 1.36 +XPCOMUtils.defineLazyModuleGetter(this, "OS", 1.37 + "resource://gre/modules/osfile.jsm"); 1.38 + 1.39 +XPCOMUtils.defineLazyModuleGetter(this, "View", 1.40 + "resource:///modules/View.jsm"); 1.41 + 1.42 +XPCOMUtils.defineLazyServiceGetter(window, "gHistSvc", 1.43 + "@mozilla.org/browser/nav-history-service;1", 1.44 + "nsINavHistoryService", 1.45 + "nsIBrowserHistory"); 1.46 + 1.47 +let ScriptContexts = {}; 1.48 +[ 1.49 + ["Util", "chrome://browser/content/Util.js"], 1.50 + ["Site", "chrome://browser/content/Site.js"], 1.51 + ["StartUI", "chrome://browser/content/StartUI.js"], 1.52 + ["Bookmarks", "chrome://browser/content/bookmarks.js"], 1.53 + ["BookmarksView", "chrome://browser/content/BookmarksView.js"], 1.54 + ["HistoryView", "chrome://browser/content/HistoryView.js"], 1.55 + ["TopSitesView", "chrome://browser/content/TopSitesView.js"], 1.56 + ["RemoteTabsView", "chrome://browser/content/RemoteTabsView.js"], 1.57 + ["BookmarksStartView", "chrome://browser/content/BookmarksView.js"], 1.58 + ["HistoryStartView", "chrome://browser/content/HistoryView.js"], 1.59 + ["TopSitesStartView", "chrome://browser/content/TopSitesView.js"], 1.60 + ["RemoteTabsStartView", "chrome://browser/content/RemoteTabsView.js"], 1.61 + ["ItemPinHelper", "chrome://browser/content/helperui/ItemPinHelper.js"], 1.62 +].forEach(function (aScript) { 1.63 + let [name, script] = aScript; 1.64 + XPCOMUtils.defineLazyGetter(window, name, function() { 1.65 + let sandbox; 1.66 + if (script in ScriptContexts) { 1.67 + sandbox = ScriptContexts[script]; 1.68 + } else { 1.69 + sandbox = ScriptContexts[script] = {}; 1.70 + Services.scriptloader.loadSubScript(script, sandbox); 1.71 + } 1.72 + return sandbox[name]; 1.73 + }); 1.74 +}); 1.75 + 1.76 +// singleton 1.77 +XPCOMUtils.defineLazyGetter(this, "TopSites", function() { 1.78 + return StartUI.chromeWin.TopSites; 1.79 +}); 1.80 + 1.81 +#ifdef MOZ_SERVICES_SYNC 1.82 +XPCOMUtils.defineLazyGetter(this, "Weave", function() { 1.83 + Components.utils.import("resource://services-sync/main.js"); 1.84 + return Weave; 1.85 +}); 1.86 +#endif