diff -r 000000000000 -r 6474c204b198 browser/metro/base/content/browser-scripts.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/metro/base/content/browser-scripts.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,173 @@ +// -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*- +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); +Cu.import("resource://gre/modules/Services.jsm"); + +/* + * JS modules + */ + +XPCOMUtils.defineLazyModuleGetter(this, "Downloads", + "resource://gre/modules/Downloads.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "FormHistory", + "resource://gre/modules/FormHistory.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "FileUtils", + "resource://gre/modules/FileUtils.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "PageThumbs", + "resource://gre/modules/PageThumbs.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "PluralForm", + "resource://gre/modules/PluralForm.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "PlacesUtils", + "resource://gre/modules/PlacesUtils.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "NetUtil", + "resource://gre/modules/NetUtil.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "DownloadUtils", + "resource://gre/modules/DownloadUtils.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "NewTabUtils", + "resource://gre/modules/NewTabUtils.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "Promise", + "resource://gre/modules/Promise.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "ColorUtils", + "resource:///modules/colorUtils.jsm"); + +#ifdef NIGHTLY_BUILD +XPCOMUtils.defineLazyModuleGetter(this, "ShumwayUtils", + "resource://shumway/ShumwayUtils.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "PdfJs", + "resource://pdf.js/PdfJs.jsm"); +#endif + +XPCOMUtils.defineLazyModuleGetter(this, "Task", + "resource://gre/modules/Task.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "OS", + "resource://gre/modules/osfile.jsm"); + +XPCOMUtils.defineLazyModuleGetter(this, "UITelemetry", + "resource://gre/modules/UITelemetry.jsm"); + +#ifdef MOZ_UPDATER +XPCOMUtils.defineLazyModuleGetter(this, "AddonManager", + "resource://gre/modules/AddonManager.jsm"); +#endif + +/* + * Services + */ + +XPCOMUtils.defineLazyServiceGetter(this, "StyleSheetSvc", + "@mozilla.org/content/style-sheet-service;1", + "nsIStyleSheetService"); +XPCOMUtils.defineLazyServiceGetter(window, "gHistSvc", + "@mozilla.org/browser/nav-history-service;1", + "nsINavHistoryService", + "nsIBrowserHistory"); +XPCOMUtils.defineLazyServiceGetter(window, "gURIFixup", + "@mozilla.org/docshell/urifixup;1", + "nsIURIFixup"); +XPCOMUtils.defineLazyServiceGetter(window, "gFaviconService", + "@mozilla.org/browser/favicon-service;1", + "nsIFaviconService"); +XPCOMUtils.defineLazyServiceGetter(window, "gFocusManager", + "@mozilla.org/focus-manager;1", + "nsIFocusManager"); +XPCOMUtils.defineLazyServiceGetter(window, "gEventListenerService", + "@mozilla.org/eventlistenerservice;1", + "nsIEventListenerService"); +#ifdef MOZ_CRASHREPORTER +XPCOMUtils.defineLazyServiceGetter(this, "CrashReporter", + "@mozilla.org/xre/app-info;1", + "nsICrashReporter"); +#endif + +/* + * window.Rect is used by + * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect + * so it is not possible to set a lazy getter for Geometry.jsm. + */ +Cu.import("resource://gre/modules/Geometry.jsm"); +/* + * Browser scripts + */ +let ScriptContexts = {}; +[ + ["ContentAreaObserver", "chrome://browser/content/ContentAreaObserver.js"], + ["WebProgress", "chrome://browser/content/WebProgress.js"], + ["FindHelperUI", "chrome://browser/content/helperui/FindHelperUI.js"], + ["FormHelperUI", "chrome://browser/content/helperui/FormHelperUI.js"], + ["BrowserTouchHandler", "chrome://browser/content/BrowserTouchHandler.js"], + ["AlertsHelper", "chrome://browser/content/helperui/AlertsHelper.js"], + ["AutofillMenuUI", "chrome://browser/content/helperui/MenuUI.js"], + ["ContextMenuUI", "chrome://browser/content/helperui/MenuUI.js"], + ["MenuControlUI", "chrome://browser/content/helperui/MenuUI.js"], + ["MenuPopup", "chrome://browser/content/helperui/MenuUI.js"], + ["IndexedDB", "chrome://browser/content/helperui/IndexedDB.js"], + ["OfflineApps", "chrome://browser/content/helperui/OfflineApps.js"], + ["SelectHelperUI", "chrome://browser/content/helperui/SelectHelperUI.js"], + ["SelectionHelperUI", "chrome://browser/content/helperui/SelectionHelperUI.js"], + ["SelectionPrototype", "chrome://browser/content/library/SelectionPrototype.js"], + ["ChromeSelectionHandler", "chrome://browser/content/helperui/ChromeSelectionHandler.js"], + ["CommandUpdater", "chrome://browser/content/commandUtil.js"], + ["ContextCommands", "chrome://browser/content/ContextCommands.js"], + ["Bookmarks", "chrome://browser/content/bookmarks.js"], + ["MetroDownloadsView", "chrome://browser/content/downloads.js"], + ["ConsolePanelView", "chrome://browser/content/console.js"], + ["Site", "chrome://browser/content/Site.js"], + ["TopSites", "chrome://browser/content/TopSites.js"], + ["Sanitizer", "chrome://browser/content/sanitize.js"], + ["SanitizeUI", "chrome://browser/content/sanitizeUI.js"], + ["SSLExceptions", "chrome://browser/content/exceptions.js"], + ["ItemPinHelper", "chrome://browser/content/helperui/ItemPinHelper.js"], + ["NavButtonSlider", "chrome://browser/content/NavButtonSlider.js"], + ["ContextUI", "chrome://browser/content/ContextUI.js"], + ["FlyoutPanelsUI", "chrome://browser/content/flyoutpanels/FlyoutPanelsUI.js"], + ["SettingsCharm", "chrome://browser/content/flyoutpanels/SettingsCharm.js"], + ["APZCObserver", "chrome://browser/content/apzc.js"], +].forEach(function (aScript) { + let [name, script] = aScript; + XPCOMUtils.defineLazyGetter(window, name, function() { + let sandbox; + if (script in ScriptContexts) { + sandbox = ScriptContexts[script]; + } else { + sandbox = ScriptContexts[script] = {}; + Services.scriptloader.loadSubScript(script, sandbox); + } + return sandbox[name]; + }); +}); +#ifdef MOZ_SERVICES_SYNC +XPCOMUtils.defineLazyGetter(this, "Weave", function() { + Components.utils.import("resource://services-sync/main.js"); + return Weave; +}); +#endif + +/* + * Delay load some global scripts using a custom namespace + */ +XPCOMUtils.defineLazyGetter(this, "GlobalOverlay", function() { + let GlobalOverlay = {}; + Services.scriptloader.loadSubScript("chrome://global/content/globalOverlay.js", GlobalOverlay); + return GlobalOverlay; +}); + +XPCOMUtils.defineLazyGetter(this, "ContentAreaUtils", function() { + let ContentAreaUtils = {}; + Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", ContentAreaUtils); + return ContentAreaUtils; +});