Bug 1392153 - Display fxa name & email properly and manage account shouldn't open new window r?jaws draft
authorRicky Chien <ricky060709@gmail.com>
Mon, 21 Aug 2017 11:14:41 +0800
changeset 650254 c132851763b9611ec54cd5ab56063a4a7b38083a
parent 650228 128a79130ecd6f277190d031a623f991c73c5272
child 727336 f094b9666bd70d4e6dfcb9ecddcd4af97307ebdf
push id75310
push userbmo:rchien@mozilla.com
push dateTue, 22 Aug 2017 03:20:01 +0000
reviewersjaws
bugs1392153
milestone57.0a1
Bug 1392153 - Display fxa name & email properly and manage account shouldn't open new window r?jaws
browser/components/preferences/in-content-new/sync.js
browser/components/preferences/in-content-new/sync.xul
browser/themes/shared/incontentprefs/preferences.inc.css
--- a/browser/components/preferences/in-content-new/sync.js
+++ b/browser/components/preferences/in-content-new/sync.js
@@ -101,17 +101,17 @@ var gSyncPane = {
     let username = Services.prefs.getCharPref("services.sync.username", "");
     if (!username) {
       this.page = FXA_PAGE_LOGGED_OUT;
       return;
     }
 
     // Use cached values while we wait for the up-to-date values
     let cachedComputerName = Services.prefs.getCharPref("services.sync.client.name", "");
-    document.getElementById("fxaEmailAddress1").textContent = username;
+    document.querySelector(".fxaEmailAddress").value = username;
     this._populateComputerName(cachedComputerName);
     this.page = FXA_PAGE_LOGGED_IN;
   },
 
   _init() {
     let topics = ["weave:service:login:error",
                   "weave:service:login:finish",
                   "weave:service:start-over:finish",
@@ -250,18 +250,17 @@ var gSyncPane = {
   },
 
   updateWeavePrefs() {
     let service = Components.classes["@mozilla.org/weave/service;1"]
                   .getService(Components.interfaces.nsISupports)
                   .wrappedJSObject;
 
     let displayNameLabel = document.getElementById("fxaDisplayName");
-    let fxaEmailAddress1Label = document.getElementById("fxaEmailAddress1");
-    fxaEmailAddress1Label.hidden = false;
+    let fxaEmailAddressLabels = document.querySelectorAll(".fxaEmailAddress");
     displayNameLabel.hidden = true;
 
     // determine the fxa status...
     this._showLoadPage(service);
 
     fxAccounts.getSignedInUser().then(data => {
       if (!data) {
         this.page = FXA_PAGE_LOGGED_OUT;
@@ -286,19 +285,19 @@ var gSyncPane = {
         fxaLoginStatus.selectedIndex = FXA_LOGIN_FAILED;
         syncReady = false;
       // Else we must be golden (or in an error state we expect to magically
       // resolve itself)
       } else {
         fxaLoginStatus.selectedIndex = FXA_LOGIN_VERIFIED;
         syncReady = true;
       }
-      fxaEmailAddress1Label.textContent = data.email;
-      document.getElementById("fxaEmailAddress2").textContent = data.email;
-      document.getElementById("fxaEmailAddress3").textContent = data.email;
+      fxaEmailAddressLabels.forEach((label) => {
+        label.value = data.email;
+      });
       this._populateComputerName(Weave.Service.clientsEngine.localName);
       let engines = document.getElementById("fxaSyncEngines")
       for (let checkbox of engines.querySelectorAll("checkbox")) {
         checkbox.disabled = !syncReady;
       }
       document.getElementById("fxaChangeDeviceName").disabled = !syncReady;
 
       // Clear the profile image (if any) of the previously logged in account.
@@ -313,19 +312,19 @@ var gSyncPane = {
       }
       return null;
     }).then(data => {
       let fxaLoginStatus = document.getElementById("fxaLoginStatus");
       if (data) {
         if (data.email) {
           // A hack to handle that the user's email address may have changed.
           // This can probably be removed as part of bug 1383663.
-          fxaEmailAddress1Label.textContent = data.email;
-          document.getElementById("fxaEmailAddress2").textContent = data.email;
-          document.getElementById("fxaEmailAddress3").textContent = data.email;
+          fxaEmailAddressLabels.forEach((label) => {
+            label.value = data.email;
+          });
         }
         if (data.displayName) {
           fxaLoginStatus.setAttribute("hasName", true);
           displayNameLabel.hidden = false;
           displayNameLabel.textContent = data.displayName;
         } else {
           fxaLoginStatus.removeAttribute("hasName");
         }
--- a/browser/components/preferences/in-content-new/sync.xul
+++ b/browser/components/preferences/in-content-new/sync.xul
@@ -97,66 +97,64 @@
             <!-- logged in and verified and all is good -->
             <hbox id="fxaLoginVerified" align="center" flex="1">
               <image class="fxaProfileImage actionable"
                      role="button"
                      onclick="gSyncPane.openChangeProfileImage(event);"
                      onkeypress="gSyncPane.openChangeProfileImage(event);"
                      tooltiptext="&profilePicture.tooltip;"/>
               <vbox flex="1" pack="center">
-                <hbox flex="1">
-                  <hbox flex="1" align="center">
-                    <label id="fxaDisplayName" hidden="true"/>
-                    <label id="fxaEmailAddress1"/>
-                  </hbox>
+                <hbox flex="1" align="center">
+                  <label id="fxaDisplayName" hidden="true"/>
+                  <label class="fxaEmailAddress" flex="1" crop="end"/>
                   <button id="fxaUnlinkButton"
                           class="accessory-button"
                           label="&disconnect3.label;"
                           accesskey="&disconnect3.accesskey;"/>
                 </hbox>
                 <hbox>
-                  <html:a id="verifiedManage" class="openLink" target="_blank"
+                  <html:a id="verifiedManage" class="openLink"
                           accesskey="&verifiedManage.accesskey;"
                           onkeypress="gSyncPane.openManageFirefoxAccount(event);">&verifiedManage.label;</html:a>
                 </hbox>
               </vbox>
             </hbox>
 
             <!-- logged in to an unverified account -->
             <hbox id="fxaLoginUnverified">
               <vbox>
                 <image class="fxaProfileImage"/>
               </vbox>
-              <vbox flex="1">
+              <vbox flex="1" pack="center">
                 <hbox>
-                  <vbox><image class="fxaLoginRejectedWarning"/></vbox>
+                  <image class="fxaLoginRejectedWarning"/>
                   <description flex="1">
                     &signedInUnverified.beforename.label;
-                    <label id="fxaEmailAddress2"/>
+                    <label class="fxaEmailAddress"/>
                     &signedInUnverified.aftername.label;
                   </description>
                 </hbox>
                 <hbox class="fxaAccountBoxButtons">
                   <button id="verifyFxaAccount" label="&verify.label;" accesskey="&verify.accesskey;"></button>
                   <button id="unverifiedUnlinkFxaAccount" label="&forget.label;" accesskey="&forget.accesskey;"></button>
                 </hbox>
               </vbox>
             </hbox>
 
             <!-- logged in locally but server rejected credentials -->
             <hbox id="fxaLoginRejected">
               <vbox>
                 <image class="fxaProfileImage"/>
               </vbox>
-              <vbox flex="1">
+              <vbox flex="1" pack="center">
                 <hbox>
-                  <vbox><image class="fxaLoginRejectedWarning"/></vbox>
+                  <image class="fxaLoginRejectedWarning"/>
                   <description flex="1">
                     &signedInLoginFailure.beforename.label;
-                    <label id="fxaEmailAddress3"/>
+                    <label class="fxaEmailAddress"/>
                     &signedInLoginFailure.aftername.label;
                   </description>
                 </hbox>
                 <hbox class="fxaAccountBoxButtons">
                   <button id="rejectReSignIn" label="&signIn.label;" accesskey="&signIn.accesskey;"></button>
                   <button id="rejectUnlinkFxaAccount" label="&forget.label;" accesskey="&forget.accesskey;"></button>
                 </hbox>
               </vbox>
--- a/browser/themes/shared/incontentprefs/preferences.inc.css
+++ b/browser/themes/shared/incontentprefs/preferences.inc.css
@@ -561,30 +561,29 @@ separator.thin:not([orient="vertical"]) 
   line-height: 30px;
   cursor: pointer;
 }
 
 .openLink:visited {
   color: var(--in-content-link-color);
 }
 
-#fxaLoginStatus[hasName] #fxaEmailAddress1 {
-  font-size: 1.1rem;
+#fxaDisplayName {
+  font-weight: bold;
+  margin-inline-end: 10px !important;
 }
 
-#fxaEmailAddress1,
-#fxaEmailAddress2,
-#fxaEmailAddress3 {
-  word-break: break-all;
+.fxaEmailAddress {
+  margin-inline-end: 8px !important;
 }
 
 .fxaLoginRejectedWarning {
   list-style-image: url(chrome://browser/skin/warning.svg);
-  filter: drop-shadow(0 1px 0 hsla(206, 50%, 10%, .15));
-  margin: 4px 8px 0px 0px;
+  margin-inline-start: 4px;
+  margin-inline-end: 8px;
 }
 
 #fxaSyncEngines > vbox > checkbox {
   max-width: 224px;
 }
 
 .fxaMobilePromo {
   margin: 2px 0 32px 0 !important;