Bug 1388552 - Export the HUDService object directly instead of individual methods and properties;r=nchevobbe draft
authorBrian Grinstead <bgrinstead@mozilla.com>
Fri, 11 Aug 2017 09:07:04 -0700
changeset 644974 83612fd2c4edfde5c86cfc11a70682cc74ebfa12
parent 644113 4d54ac07b8c97f0e6713dab2ba694023b5b2f3b5
child 644975 7f2f3300584d01c9807c159438e2f0668b990143
push id73609
push userbgrinstead@mozilla.com
push dateFri, 11 Aug 2017 16:29:30 +0000
reviewersnchevobbe
bugs1388552
milestone57.0a1
Bug 1388552 - Export the HUDService object directly instead of individual methods and properties;r=nchevobbe MozReview-Commit-ID: 9AYCuqqv1U7
browser/base/content/browser.js
devtools/bootstrap.js
devtools/client/commandline/test/browser_cmd_commands.js
devtools/client/framework/devtools-browser.js
devtools/client/framework/toolbox.js
devtools/client/menus.js
devtools/client/scratchpad/scratchpad.js
devtools/client/scratchpad/test/browser_scratchpad_open_error_console.js
devtools/client/webconsole/hudservice.js
devtools/client/webconsole/panel.js
devtools/client/webconsole/test/head.js
devtools/shim/devtools-startup.js
dom/security/test/cors/head.js
toolkit/components/extensions/ext-c-toolkit.js
toolkit/components/extensions/test/mochitest/test_chrome_ext_background_page.html
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -8418,17 +8418,17 @@ var TabContextMenu = {
         break;
     }
   }
 };
 
 Object.defineProperty(this, "HUDService", {
   get: function HUDService_getter() {
     let devtools = Cu.import("resource://devtools/shared/Loader.jsm", {}).devtools;
-    return devtools.require("devtools/client/webconsole/hudservice");
+    return devtools.require("devtools/client/webconsole/hudservice").HUDService;
   },
   configurable: true,
   enumerable: true
 });
 
 // Prompt user to restart the browser in safe mode
 function safeModeRestart() {
   if (Services.appinfo.inSafeMode) {
--- a/devtools/bootstrap.js
+++ b/devtools/bootstrap.js
@@ -299,17 +299,17 @@ function reload(event) {
       gDevTools.showToolbox(target);
     }, 1000);
   }
 
   // Browser console document can't just be reloaded.
   // HUDService is going to close it on unload.
   // Instead we have to manually toggle it.
   if (reopenBrowserConsole) {
-    let HUDService = devtools.require("devtools/client/webconsole/hudservice");
+    let {HUDService} = devtools.require("devtools/client/webconsole/hudservice");
     HUDService.toggleBrowserConsole();
   }
 
   actionOccurred("reloadAddonReload");
 }
 
 function startup(data) {
   dump("DevTools addon started.\n");
--- a/devtools/client/commandline/test/browser_cmd_commands.js
+++ b/devtools/client/commandline/test/browser_cmd_commands.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test various GCLI commands
 
 const TEST_URI = "data:text/html;charset=utf-8,gcli-commands";
-const HUDService = require("devtools/client/webconsole/hudservice");
+const {HUDService} = require("devtools/client/webconsole/hudservice");
 
 // Use the old webconsole since pprint isn't working on new one (Bug 1304794)
 Services.prefs.setBoolPref("devtools.webconsole.new-frontend-enabled", false);
 registerCleanupFunction(function* () {
   Services.prefs.clearUserPref("devtools.webconsole.new-frontend-enabled");
 });
 
 function test() {
--- a/devtools/client/framework/devtools-browser.js
+++ b/devtools/client/framework/devtools-browser.js
@@ -307,17 +307,17 @@ var gDevToolsBrowser = exports.gDevTools
         break;
       case "webide":
         gDevToolsBrowser.openWebIDE();
         break;
       case "browserToolbox":
         BrowserToolboxProcess.init();
         break;
       case "browserConsole":
-        let HUDService = require("devtools/client/webconsole/hudservice");
+        let {HUDService} = require("devtools/client/webconsole/hudservice");
         HUDService.openBrowserConsoleOrFocus();
         break;
       case "responsiveDesignMode":
         ResponsiveUIManager.toggle(window, window.gBrowser.selectedTab);
         break;
       case "scratchpad":
         ScratchpadManager.openScratchpad();
         break;
--- a/devtools/client/framework/toolbox.js
+++ b/devtools/client/framework/toolbox.js
@@ -58,17 +58,17 @@ loader.lazyRequireGetter(this, "ZoomKeys
   "devtools/client/shared/zoom-keys");
 loader.lazyRequireGetter(this, "settleAll",
   "devtools/shared/ThreadSafeDevToolsUtils", true);
 loader.lazyRequireGetter(this, "ToolboxButtons",
   "devtools/client/definitions", true);
 loader.lazyRequireGetter(this, "SourceMapURLService",
   "devtools/client/framework/source-map-url-service", true);
 loader.lazyRequireGetter(this, "HUDService",
-  "devtools/client/webconsole/hudservice");
+  "devtools/client/webconsole/hudservice", true);
 loader.lazyRequireGetter(this, "viewSource",
   "devtools/client/shared/view-source");
 
 loader.lazyGetter(this, "domNodeConstants", () => {
   return require("devtools/shared/dom-node-constants");
 });
 
 loader.lazyGetter(this, "registerHarOverlay", () => {
--- a/devtools/client/menus.js
+++ b/devtools/client/menus.js
@@ -87,17 +87,17 @@ exports.menuitems = [
     oncommand(event) {
       let window = event.target.ownerDocument.defaultView;
       gDevToolsBrowser.openContentProcessToolbox(window.gBrowser);
     }
   },
   { id: "menu_browserConsole",
     l10nKey: "browserConsoleCmd",
     oncommand() {
-      let HUDService = require("devtools/client/webconsole/hudservice");
+      let {HUDService} = require("devtools/client/webconsole/hudservice");
       HUDService.openBrowserConsoleOrFocus();
     },
     keyId: "browserConsole",
   },
   { id: "menu_responsiveUI",
     l10nKey: "responsiveDesignMode",
     oncommand(event) {
       let window = event.target.ownerDocument.defaultView;
--- a/devtools/client/scratchpad/scratchpad.js
+++ b/devtools/client/scratchpad/scratchpad.js
@@ -77,17 +77,17 @@ XPCOMUtils.defineLazyModuleGetter(this, 
 XPCOMUtils.defineLazyModuleGetter(this, "VariablesViewController",
   "resource://devtools/client/shared/widgets/VariablesViewController.jsm");
 
 loader.lazyRequireGetter(this, "DebuggerServer", "devtools/server/main", true);
 
 loader.lazyRequireGetter(this, "DebuggerClient", "devtools/shared/client/main", true);
 loader.lazyRequireGetter(this, "EnvironmentClient", "devtools/shared/client/main", true);
 loader.lazyRequireGetter(this, "ObjectClient", "devtools/shared/client/main", true);
-loader.lazyRequireGetter(this, "HUDService", "devtools/client/webconsole/hudservice");
+loader.lazyRequireGetter(this, "HUDService", "devtools/client/webconsole/hudservice", true);
 
 XPCOMUtils.defineLazyGetter(this, "REMOTE_TIMEOUT", () =>
   Services.prefs.getIntPref("devtools.debugger.remote-timeout"));
 
 XPCOMUtils.defineLazyModuleGetter(this, "ShortcutUtils",
   "resource://gre/modules/ShortcutUtils.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "Reflect",
--- a/devtools/client/scratchpad/test/browser_scratchpad_open_error_console.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_open_error_console.js
@@ -1,13 +1,13 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-const HUDService = require("devtools/client/webconsole/hudservice");
+const {HUDService} = require("devtools/client/webconsole/hudservice");
 
 function test()
 {
   waitForExplicitFinish();
 
   gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
   gBrowser.selectedBrowser.addEventListener("load", function () {
     openScratchpad(runTests);
--- a/devtools/client/webconsole/hudservice.js
+++ b/devtools/client/webconsole/hudservice.js
@@ -689,21 +689,9 @@ BrowserConsole.prototype = extend(WebCon
         this._bc_destroyer.resolve(null);
       }));
 
     return this._bc_destroyer.promise;
   },
 });
 
 const HUDService = new HUD_SERVICE();
-
-(() => {
-  let methods = ["openWebConsole", "openBrowserConsole",
-                 "toggleBrowserConsole", "getOpenWebConsole",
-                 "getBrowserConsole", "getHudByWindow",
-                 "openBrowserConsoleOrFocus", "getHudReferenceById"];
-  for (let method of methods) {
-    exports[method] = HUDService[method].bind(HUDService);
-  }
-
-  exports.consoles = HUDService.consoles;
-  exports.lastFinishedRequest = HUDService.lastFinishedRequest;
-})();
+exports.HUDService = HUDService;
--- a/devtools/client/webconsole/panel.js
+++ b/devtools/client/webconsole/panel.js
@@ -4,17 +4,17 @@
  * 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/. */
 
 "use strict";
 
 const promise = require("promise");
 const defer = require("devtools/shared/defer");
 
-loader.lazyGetter(this, "HUDService", () => require("devtools/client/webconsole/hudservice"));
+loader.lazyRequireGetter(this, "HUDService", "devtools/client/webconsole/hudservice", true);
 loader.lazyGetter(this, "EventEmitter", () => require("devtools/shared/event-emitter"));
 
 /**
  * A DevToolPanel that controls the Web Console.
  */
 function WebConsolePanel(iframeWindow, toolbox) {
   this._frameWindow = iframeWindow;
   this._toolbox = toolbox;
--- a/devtools/client/webconsole/test/head.js
+++ b/devtools/client/webconsole/test/head.js
@@ -7,17 +7,17 @@
 "use strict";
 
 // shared-head.js handles imports, constants, and utility functions
 Services.scriptloader.loadSubScript("chrome://mochitests/content/browser/devtools/client/framework/test/shared-head.js", this);
 
 var {Utils: WebConsoleUtils} = require("devtools/client/webconsole/utils");
 var {Messages} = require("devtools/client/webconsole/console-output");
 const asyncStorage = require("devtools/shared/async-storage");
-const HUDService = require("devtools/client/webconsole/hudservice");
+const {HUDService} = require("devtools/client/webconsole/hudservice");
 
 // Services.prefs.setBoolPref("devtools.debugger.log", true);
 
 var gPendingOutputTest = 0;
 
 // The various categories of messages.
 const CATEGORY_NETWORK = 0;
 const CATEGORY_CSS = 1;
--- a/devtools/shim/devtools-startup.js
+++ b/devtools/shim/devtools-startup.js
@@ -405,19 +405,19 @@ DevToolsStartup.prototype = {
   },
 
   handleConsoleFlag: function (cmdLine) {
     let window = Services.wm.getMostRecentWindow("devtools:webconsole");
     if (!window) {
       this.initDevTools("CommandLine");
 
       let { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
-      let hudservice = require("devtools/client/webconsole/hudservice");
+      let { HUDService } = require("devtools/client/webconsole/hudservice");
       let { console } = Cu.import("resource://gre/modules/Console.jsm", {});
-      hudservice.toggleBrowserConsole().catch(console.error);
+      HUDService.toggleBrowserConsole().catch(console.error);
     } else {
       // the Browser Console was already open
       window.focus();
     }
 
     if (cmdLine.state == Ci.nsICommandLine.STATE_REMOTE_AUTO) {
       cmdLine.preventDefault = true;
     }
--- a/dom/security/test/cors/head.js
+++ b/dom/security/test/cors/head.js
@@ -6,18 +6,16 @@ function scopedCuImport(path) {
   Cu.import(path, scope);
   return scope;
 }
 const {loader, require} = scopedCuImport("resource://devtools/shared/Loader.jsm");
 const {TargetFactory} = require("devtools/client/framework/target");
 const {Utils: WebConsoleUtils} =
   require("devtools/client/webconsole/utils");
 let { gDevTools } = require("devtools/client/framework/devtools");
-loader.lazyGetter(this, "HUDService", () => require("devtools/client/webconsole/webconsole"));
-loader.lazyGetter(this, "HUDService", () => require("devtools/client/webconsole/hudservice"));
 let promise = require("promise");
 
 /**
  * Open the toolbox in a given tab.
  * @param {XULNode} tab The tab the toolbox should be opened in.
  * @param {String} toolId Optional. The ID of the tool to be selected.
  * @param {String} hostType Optional. The type of toolbox host to be used.
  * @return {Promise} Resolves with the toolbox, when it has been opened.
--- a/toolkit/components/extensions/ext-c-toolkit.js
+++ b/toolkit/components/extensions/ext-c-toolkit.js
@@ -13,18 +13,18 @@ global.initializeBackgroundPage = (conte
   // Override the `alert()` method inside background windows;
   // we alias it to console.log().
   // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1203394
   let alertDisplayedWarning = false;
   let alertOverwrite = text => {
     if (!alertDisplayedWarning) {
       require("devtools/client/framework/devtools-browser");
 
-      let hudservice = require("devtools/client/webconsole/hudservice");
-      hudservice.openBrowserConsoleOrFocus();
+      let {HUDService} = require("devtools/client/webconsole/hudservice");
+      HUDService.openBrowserConsoleOrFocus();
 
       contentWindow.console.warn("alert() is not supported in background windows; please use console.log instead.");
 
       alertDisplayedWarning = true;
     }
 
     contentWindow.console.log(text);
   };
--- a/toolkit/components/extensions/test/mochitest/test_chrome_ext_background_page.html
+++ b/toolkit/components/extensions/test/mochitest/test_chrome_ext_background_page.html
@@ -61,24 +61,24 @@ add_task(async function testAlertNotShow
   is(alertEvent.arguments[0], "I am an alert in the background.");
 
 
   // Wait for the browser console window to open.
   await consoleOpened;
 
   let {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
   require("devtools/client/framework/devtools-browser");
-  let hudservice = require("devtools/client/webconsole/hudservice");
+  let {HUDService} = require("devtools/client/webconsole/hudservice");
 
   // And then double check that we have an actual browser console.
-  let haveConsole = !!hudservice.getBrowserConsole();
+  let haveConsole = !!HUDService.getBrowserConsole();
   ok(haveConsole, "Expected browser console to be open");
 
   if (haveConsole) {
-    await hudservice.toggleBrowserConsole();
+    await HUDService.toggleBrowserConsole();
   }
 
   await extension.unload();
 });
 </script>
 
 </body>
 </html>