Bug 1166935 - Show fxa user's display name instead of email when possible in sync preference page. r=markh

This commit is contained in:
Edouard Oger 2015-07-07 10:20:00 +02:00
parent 2093a5c78a
commit cfc67261cd
2 changed files with 31 additions and 19 deletions

View File

@ -279,11 +279,22 @@ let gSyncPane = {
// service.fxAccountsEnabled is false iff sync is already configured for
// the legacy provider.
if (service.fxAccountsEnabled) {
let displayNameLabel = document.getElementById("fxaDisplayName");
let fxaEmailAddress1Label = document.getElementById("fxaEmailAddress1");
fxaEmailAddress1Label.hidden = false;
displayNameLabel.hidden = true;
// unhide the reading-list engine if readinglist is enabled (note we do
// it here as it must remain disabled for legacy sync users)
if (Services.prefs.getBoolPref("browser.readinglist.enabled")) {
document.getElementById("readinglist-engine").removeAttribute("hidden");
}
let profileInfoEnabled;
try {
profileInfoEnabled = Services.prefs.getBoolPref("identity.fxaccounts.profile_image.enabled");
} catch (ex) {}
// determine the fxa status...
this.page = PAGE_PLEASE_WAIT;
@ -316,7 +327,7 @@ let gSyncPane = {
fxaLoginStatus.selectedIndex = FXA_LOGIN_VERIFIED;
enginesListDisabled = false;
}
document.getElementById("fxaEmailAddress1").textContent = data.email;
fxaEmailAddress1Label.textContent = data.email;
document.getElementById("fxaEmailAddress2").textContent = data.email;
document.getElementById("fxaEmailAddress3").textContent = data.email;
document.getElementById("fxaSyncComputerName").value = Weave.Service.clientsEngine.localName;
@ -333,25 +344,26 @@ let gSyncPane = {
return data.verified;
}).then(isVerified => {
if (isVerified) {
let enabled;
try {
enabled = Services.prefs.getBoolPref("identity.fxaccounts.profile_image.enabled");
} catch (ex) {}
if (enabled) {
return fxAccounts.getSignedInUserProfile();
}
return fxAccounts.getSignedInUserProfile();
}
}).then(data => {
if (data && data.avatar) {
// Make sure the image is available before displaying it,
// as we don't want to overwrite the default profile image
// with a broken/unavailable image
let img = new Image();
img.onload = () => {
let bgImage = "url('" + data.avatar + "')";
document.getElementById("fxaProfileImage").style.backgroundImage = bgImage;
};
img.src = data.avatar;
if (data && profileInfoEnabled) {
if (data.displayName) {
fxaEmailAddress1Label.hidden = true;
displayNameLabel.hidden = false;
displayNameLabel.textContent = data.displayName;
}
if (data.avatar) {
// Make sure the image is available before displaying it,
// as we don't want to overwrite the default profile image
// with a broken/unavailable image
let img = new Image();
img.onload = () => {
let bgImage = "url('" + data.avatar + "')";
document.getElementById("fxaProfileImage").style.backgroundImage = bgImage;
};
img.src = data.avatar;
}
}
}, err => {
FxAccountsCommon.log.error(err);
@ -570,7 +582,6 @@ let gSyncPane = {
win.switchToTabHavingURI(url, true, options);
},
openPrivacyPolicy: function(aEvent) {
aEvent.stopPropagation();
gSyncUtils.openPrivacyPolicy();

View File

@ -238,6 +238,7 @@
onclick="gSyncPane.openChangeProfileImage();" hidden="true"
tooltiptext="&profilePicture.tooltip;"/>
<label id="fxaEmailAddress1"/>
<label id="fxaDisplayName" hidden="true"/>
</hbox>
<spacer flex="1"/>
<button id="verifiedManage"