Bug 1367077 - 4. Remove LoginManagerParent.login; r=kmag draft
authorJim Chen <nchen@mozilla.com>
Fri, 15 Sep 2017 14:44:50 -0400
changeset 665602 b3f9bb6f01a4b2f5fc29ba9f61d04fcb281cc891
parent 665601 df4e84d73759278d796e3fdb54368d0c2f1c33a2
child 665603 77cc5f2d0455e9d0e0b78aa6e08ad8bef8298b85
push id80116
push userbmo:nchen@mozilla.com
push dateFri, 15 Sep 2017 18:46:16 +0000
reviewerskmag
bugs1367077
milestone57.0a1
Bug 1367077 - 4. Remove LoginManagerParent.login; r=kmag Mobile code now loads LoginManagerParent lazily, similar to nsBrowserGlue on desktop, so we no longer need LoginManagerParent.login. MozReview-Commit-ID: 8tnWnev344
browser/components/nsBrowserGlue.js
toolkit/components/passwordmgr/LoginManagerParent.jsm
toolkit/components/passwordmgr/test/pwmgr_common.js
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -142,24 +142,24 @@ const listeners = {
     "Content:Click": ["ContentClick"],
     "ContentSearch": ["ContentSearch"],
     "FormValidation:ShowPopup": ["FormValidationHandler"],
     "FormValidation:HidePopup": ["FormValidationHandler"],
     "Prompt:Open": ["RemotePrompt"],
     "Reader:ArticleGet": ["ReaderParent"],
     "Reader:FaviconRequest": ["ReaderParent"],
     "Reader:UpdateReaderButton": ["ReaderParent"],
-    // PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN LoginManagerParent.init
+    // PLEASE KEEP THIS LIST IN SYNC WITH THE MOBILE LISTENERS IN BrowserCLH.js
     "RemoteLogins:findLogins": ["LoginManagerParent"],
     "RemoteLogins:findRecipes": ["LoginManagerParent"],
     "RemoteLogins:onFormSubmit": ["LoginManagerParent"],
     "RemoteLogins:autoCompleteLogins": ["LoginManagerParent"],
     "RemoteLogins:removeLogin": ["LoginManagerParent"],
     "RemoteLogins:insecureLoginFormPresent": ["LoginManagerParent"],
-    // PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN LoginManagerParent.init
+    // PLEASE KEEP THIS LIST IN SYNC WITH THE MOBILE LISTENERS IN BrowserCLH.js
     "WCCR:registerProtocolHandler": ["Feeds"],
     "WCCR:registerContentHandler": ["Feeds"],
     "rtcpeer:CancelRequest": ["webrtcUI"],
     "rtcpeer:Request": ["webrtcUI"],
     "webrtc:CancelRequest": ["webrtcUI"],
     "webrtc:Request": ["webrtcUI"],
     "webrtc:StopRecording": ["webrtcUI"],
     "webrtc:UpdateBrowserIndicators": ["webrtcUI"],
--- a/toolkit/components/passwordmgr/LoginManagerParent.jsm
+++ b/toolkit/components/passwordmgr/LoginManagerParent.jsm
@@ -61,34 +61,18 @@ var LoginManagerParent = {
     // Dedupe so the length checks below still make sense with scheme upgrades.
     let resolveBy = [
       "scheme",
       "timePasswordChanged",
     ];
     return LoginHelper.dedupeLogins(logins, ["username"], resolveBy, formOrigin);
   },
 
-  // This should only be called on Android. Listeners are added in
-  // nsBrowserGlue.js on desktop. Please make sure that the list of
-  // listeners added here stays in sync with the listeners added in
-  // nsBrowserGlue when you change either.
-  init() {
-    let mm = Cc["@mozilla.org/globalmessagemanager;1"]
-               .getService(Ci.nsIMessageListenerManager);
-    // PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN nsBrowserGlue
-    mm.addMessageListener("RemoteLogins:findLogins", this);
-    mm.addMessageListener("RemoteLogins:findRecipes", this);
-    mm.addMessageListener("RemoteLogins:onFormSubmit", this);
-    mm.addMessageListener("RemoteLogins:autoCompleteLogins", this);
-    mm.addMessageListener("RemoteLogins:removeLogin", this);
-    mm.addMessageListener("RemoteLogins:insecureLoginFormPresent", this);
-    // PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN nsBrowserGlue
-  },
-
-  // Listeners are added in nsBrowserGlue.js
+  // Listeners are added in nsBrowserGlue.js on desktop
+  // and in BrowserCLH.js on mobile.
   receiveMessage(msg) {
     let data = msg.data;
     switch (msg.name) {
       case "RemoteLogins:findLogins": {
         // TODO Verify msg.target's principals against the formOrigin?
         this.sendLoginDataToChild(data.options.showMasterPassword,
                                   data.formOrigin,
                                   data.actionOrigin,
--- a/toolkit/components/passwordmgr/test/pwmgr_common.js
+++ b/toolkit/components/passwordmgr/test/pwmgr_common.js
@@ -393,22 +393,16 @@ if (this.addMessageListener) {
       topic,
       data,
     });
   }
   Services.obs.addObserver(onPrompt, "passwordmgr-prompt-change");
   Services.obs.addObserver(onPrompt, "passwordmgr-prompt-save");
 
   addMessageListener("setupParent", ({selfFilling = false} = {selfFilling: false}) => {
-    // Force LoginManagerParent to init for the tests since it's normally delayed
-    // by apps such as on Android.
-    if (AppConstants.platform == "android") {
-      LoginManagerParent.init();
-    }
-
     commonInit(selfFilling);
     sendAsyncMessage("doneSetup");
   });
 
   addMessageListener("loadRecipes", function(recipes) {
     (async function() {
       var recipeParent = await LoginManagerParent.recipeParentPromise;
       await recipeParent.load(recipes);