Bug 1521596 code cleanup and eslint r=rpl
authorShane Caraveo <scaraveo@mozilla.com>
Wed, 27 Feb 2019 01:46:09 +0000
changeset 519278 91f7275e170c6f8c6d5b6f6934ebc900d48205ad
parent 519277 57545823008093781ee9812e3feb4afe4a5f0893
child 519279 6d7343355004a57779714b90b347204e1d2c55d4
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrpl
bugs1521596
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1521596 code cleanup and eslint r=rpl Differential Revision: https://phabricator.services.mozilla.com/D19080
uriloader/exthandler/WebHandlerApp.jsm
--- a/uriloader/exthandler/WebHandlerApp.jsm
+++ b/uriloader/exthandler/WebHandlerApp.jsm
@@ -1,38 +1,29 @@
 /* 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/. */
 
-////////////////////////////////////////////////////////////////////////////////
-//// Constants
-
 const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 const {NetUtil} = ChromeUtils.import("resource://gre/modules/NetUtil.jsm");
-const {Services} = ChromeUtils.import('resource://gre/modules/Services.jsm');
-
-////////////////////////////////////////////////////////////////////////////////
-//// nsWebHandler class
+const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
 
 function nsWebHandlerApp() {}
 
 nsWebHandlerApp.prototype = {
-  //////////////////////////////////////////////////////////////////////////////
-  //// nsWebHandler
-
   classDescription: "A web handler for protocols and content",
   classID: Components.ID("8b1ae382-51a9-4972-b930-56977a57919d"),
   contractID: "@mozilla.org/uriloader/web-handler-app;1",
+  QueryInterface: ChromeUtils.generateQI([Ci.nsIWebHandlerApp, Ci.nsIHandlerApp]),
 
   _name: null,
   _detailedDescription: null,
   _uriTemplate: null,
 
-  //////////////////////////////////////////////////////////////////////////////
-  //// nsIHandlerApp
+  // nsIHandlerApp
 
   get name() {
     return this._name;
   },
 
   set name(aName) {
     this._name = aName;
   },
@@ -40,45 +31,43 @@ nsWebHandlerApp.prototype = {
   get detailedDescription() {
     return this._detailedDescription;
   },
 
   set detailedDescription(aDesc) {
     this._detailedDescription = aDesc;
   },
 
-  equals: function(aHandlerApp) {
-    if (!aHandlerApp)
+  equals(aHandlerApp) {
+    if (!aHandlerApp) {
       throw Cr.NS_ERROR_NULL_POINTER;
+    }
 
     if (aHandlerApp instanceof Ci.nsIWebHandlerApp &&
         aHandlerApp.uriTemplate &&
         this.uriTemplate &&
-        aHandlerApp.uriTemplate == this.uriTemplate)
+        aHandlerApp.uriTemplate == this.uriTemplate) {
       return true;
-
+    }
     return false;
   },
 
-  launchWithURI: function nWHA__launchWithURI(aURI, aWindowContext) {
-
+  launchWithURI(aURI, aWindowContext) {
     // XXX need to strip passwd & username from URI to handle, as per the
     // WhatWG HTML5 draft.  nsSimpleURL, which is what we're going to get,
     // can't do this directly.  Ideally, we'd fix nsStandardURL to make it
     // possible to turn off all of its quirks handling, and use that...
 
     // encode the URI to be handled
     var escapedUriSpecToHandle = encodeURIComponent(aURI.spec);
 
-    // insert the encoded URI and create the object version 
+    // insert the encoded URI and create the object version.
     var uriSpecToSend = this.uriTemplate.replace("%s", escapedUriSpecToHandle);
-    var ioService = Cc["@mozilla.org/network/io-service;1"].
-                    getService(Ci.nsIIOService);
-    var uriToSend = ioService.newURI(uriSpecToSend);
-    
+    var uriToSend = Services.io.newURI(uriSpecToSend);
+
     // if we have a window context, use the URI loader to load there
     if (aWindowContext) {
       try {
         // getInterface throws if the object doesn't implement the given
         // interface, so this try/catch statement is more of an if.
         // If aWindowContext refers to a remote docshell, send the load
         // request to the correct process.
         aWindowContext.getInterface(Ci.nsIRemoteWindowContext)
@@ -88,78 +77,66 @@ nsWebHandlerApp.prototype = {
         if (e.result != Cr.NS_NOINTERFACE) {
           throw e;
         }
       }
 
       // create a channel from this URI
       var channel = NetUtil.newChannel({
         uri: uriToSend,
-        loadUsingSystemPrincipal: true
+        loadUsingSystemPrincipal: true,
       });
       channel.loadFlags = Ci.nsIChannel.LOAD_DOCUMENT_URI;
 
       // load the channel
-      var uriLoader = Cc["@mozilla.org/uriloader;1"].
-                      getService(Ci.nsIURILoader);
+      var uriLoader = Cc["@mozilla.org/uriloader;1"].getService(Ci.nsIURILoader);
+
       // XXX ideally, whether to pass the IS_CONTENT_PREFERRED flag should be
       // passed in from above.  Practically, the flag is probably a reasonable
       // default since browsers don't care much, and link click is likely to be
-      // the more interesting case for non-browser apps.  See 
+      // the more interesting case for non-browser apps.  See
       // <https://bugzilla.mozilla.org/show_bug.cgi?id=392957#c9> for details.
       uriLoader.openURI(channel, Ci.nsIURILoader.IS_CONTENT_PREFERRED,
                         aWindowContext);
       return;
-    } 
-
-    // since we don't have a window context, hand it off to a browser
-    var windowMediator = Cc["@mozilla.org/appshell/window-mediator;1"].
-      getService(Ci.nsIWindowMediator);
+    }
 
     // get browser dom window
-    var browserDOMWin = windowMediator.getMostRecentWindow("navigator:browser")
-                        .QueryInterface(Ci.nsIDOMChromeWindow)
-                        .browserDOMWindow;
+    var browserDOMWin = Services.wm.getMostRecentWindow("navigator:browser")
+                                   .QueryInterface(Ci.nsIDOMChromeWindow)
+                                   .browserDOMWindow;
 
     // if we got an exception, there are several possible reasons why:
     // a) this gecko embedding doesn't provide an nsIBrowserDOMWindow
     //    implementation (i.e. doesn't support browser-style functionality),
     //    so we need to kick the URL out to the OS default browser.  This is
     //    the subject of bug 394479.
     // b) this embedding does provide an nsIBrowserDOMWindow impl, but
     //    there doesn't happen to be a browser window open at the moment; one
     //    should be opened.  It's not clear whether this situation will really
     //    ever occur in real life.  If it does, the only API that I can find
     //    that seems reasonably likely to work for most embedders is the
-    //    command line handler.  
-    // c) something else went wrong 
+    //    command line handler.
+    // c) something else went wrong
     //
     // it's not clear how one would differentiate between the three cases
     // above, so for now we don't catch the exception
 
     // openURI
     browserDOMWin.openURI(uriToSend,
                           null, // no window.opener
                           Ci.nsIBrowserDOMWindow.OPEN_DEFAULTWINDOW,
                           Ci.nsIBrowserDOMWindow.OPEN_NEW,
                           Services.scriptSecurityManager.getSystemPrincipal());
-      
-    return;
   },
 
-  //////////////////////////////////////////////////////////////////////////////
-  //// nsIWebHandlerApp
+  // nsIWebHandlerApp
 
   get uriTemplate() {
     return this._uriTemplate;
   },
 
   set uriTemplate(aURITemplate) {
     this._uriTemplate = aURITemplate;
   },
-
-  //////////////////////////////////////////////////////////////////////////////
-  //// nsISupports
-
-  QueryInterface: ChromeUtils.generateQI([Ci.nsIWebHandlerApp, Ci.nsIHandlerApp])
 };
 
 var EXPORTED_SYMBOLS = ["nsWebHandlerApp"];