browser/metro/base/content/startui/startui-scripts.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 "use strict";
     7 let Cc = Components.classes;
     8 let Ci = Components.interfaces;
     9 let Cu = Components.utils;
    10 let Cr = Components.results;
    12 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
    13 Cu.import("resource://gre/modules/Services.jsm");
    15 XPCOMUtils.defineLazyModuleGetter(this, "PlacesUtils",
    16                                   "resource://gre/modules/PlacesUtils.jsm");
    18 XPCOMUtils.defineLazyModuleGetter(this, "NetUtil",
    19                                   "resource://gre/modules/NetUtil.jsm");
    21 XPCOMUtils.defineLazyModuleGetter(this, "NewTabUtils",
    22                                   "resource://gre/modules/NewTabUtils.jsm");
    24 XPCOMUtils.defineLazyModuleGetter(this, "Promise",
    25                                   "resource://gre/modules/Promise.jsm");
    27 XPCOMUtils.defineLazyModuleGetter(this, "Task",
    28                                   "resource://gre/modules/Task.jsm");
    30 XPCOMUtils.defineLazyModuleGetter(this, "CrossSlide",
    31                                   "resource:///modules/CrossSlide.jsm");
    33 XPCOMUtils.defineLazyModuleGetter(this, "OS",
    34                                   "resource://gre/modules/osfile.jsm");
    36 XPCOMUtils.defineLazyModuleGetter(this, "View",
    37                                   "resource:///modules/View.jsm");
    39 XPCOMUtils.defineLazyServiceGetter(window, "gHistSvc",
    40                                    "@mozilla.org/browser/nav-history-service;1",
    41                                    "nsINavHistoryService",
    42                                    "nsIBrowserHistory");
    44 let ScriptContexts = {};
    45 [
    46   ["Util", "chrome://browser/content/Util.js"],
    47   ["Site", "chrome://browser/content/Site.js"],
    48   ["StartUI", "chrome://browser/content/StartUI.js"],
    49   ["Bookmarks", "chrome://browser/content/bookmarks.js"],
    50   ["BookmarksView", "chrome://browser/content/BookmarksView.js"],
    51   ["HistoryView", "chrome://browser/content/HistoryView.js"],
    52   ["TopSitesView", "chrome://browser/content/TopSitesView.js"],
    53   ["RemoteTabsView", "chrome://browser/content/RemoteTabsView.js"],
    54   ["BookmarksStartView", "chrome://browser/content/BookmarksView.js"],
    55   ["HistoryStartView", "chrome://browser/content/HistoryView.js"],
    56   ["TopSitesStartView", "chrome://browser/content/TopSitesView.js"],
    57   ["RemoteTabsStartView", "chrome://browser/content/RemoteTabsView.js"],
    58   ["ItemPinHelper", "chrome://browser/content/helperui/ItemPinHelper.js"],
    59 ].forEach(function (aScript) {
    60   let [name, script] = aScript;
    61   XPCOMUtils.defineLazyGetter(window, name, function() {
    62     let sandbox;
    63     if (script in ScriptContexts) {
    64       sandbox = ScriptContexts[script];
    65     } else {
    66       sandbox = ScriptContexts[script] = {};
    67       Services.scriptloader.loadSubScript(script, sandbox);
    68     }
    69     return sandbox[name];
    70   });
    71 });
    73 // singleton
    74 XPCOMUtils.defineLazyGetter(this, "TopSites", function() {
    75   return StartUI.chromeWin.TopSites;
    76 });
    78 #ifdef MOZ_SERVICES_SYNC
    79 XPCOMUtils.defineLazyGetter(this, "Weave", function() {
    80   Components.utils.import("resource://services-sync/main.js");
    81   return Weave;
    82 });
    83 #endif

mercurial