diff options
author | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-06 08:40:20 +0000 |
---|---|---|
committer | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-06 08:40:20 +0000 |
commit | 87a843440fd19440d5cdb96b84b6f15b5a2e8e9c (patch) | |
tree | e3d2810460792fa3470153457bf6dedbfc7b10c6 /chrome/browser/ui | |
parent | ae5281b72d031da979880733e1b2e36fb525da99 (diff) | |
download | chromium_src-87a843440fd19440d5cdb96b84b6f15b5a2e8e9c.zip chromium_src-87a843440fd19440d5cdb96b84b6f15b5a2e8e9c.tar.gz chromium_src-87a843440fd19440d5cdb96b84b6f15b5a2e8e9c.tar.bz2 |
[cros] Prefs: user picture is set before Personal Stuff page is shown.
BUG=chromium-os:13440
TEST=Manual: no flashing of the default user picture should be seen when opening chrome:settings/personal.
Review URL: http://codereview.chromium.org/7835033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99706 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r-- | chrome/browser/ui/webui/options/personal_options_handler.cc | 34 | ||||
-rw-r--r-- | chrome/browser/ui/webui/options/personal_options_handler.h | 2 |
2 files changed, 9 insertions, 27 deletions
diff --git a/chrome/browser/ui/webui/options/personal_options_handler.cc b/chrome/browser/ui/webui/options/personal_options_handler.cc index e8febe8..9fe693ad 100644 --- a/chrome/browser/ui/webui/options/personal_options_handler.cc +++ b/chrome/browser/ui/webui/options/personal_options_handler.cc @@ -12,8 +12,6 @@ #include "base/path_service.h" #include "base/stl_util.h" #include "base/string_number_conversions.h" -#include "base/stringprintf.h" -#include "base/time.h" #include "base/utf_string_conversions.h" #include "base/value_conversions.h" #include "base/values.h" @@ -194,6 +192,8 @@ void PersonalOptionsHandler::GetLocalizedValues( l10n_util::GetStringUTF16(IDS_OPTIONS_ENABLE_SCREENLOCKER_CHECKBOX)); localized_strings->SetString("changePicture", l10n_util::GetStringUTF16(IDS_OPTIONS_CHANGE_PICTURE)); + localized_strings->SetString("userEmail", + chromeos::UserManager::Get()->logged_in_user().email()); #endif } @@ -207,11 +207,6 @@ void PersonalOptionsHandler::RegisterMessages() { "themesSetGTK", NewCallback(this, &PersonalOptionsHandler::ThemesSetGTK)); #endif -#if defined(OS_CHROMEOS) - web_ui_->RegisterMessageCallback( - "loadAccountPicture", - NewCallback(this, &PersonalOptionsHandler::LoadAccountPicture)); -#endif web_ui_->RegisterMessageCallback( "createProfile", NewCallback(this, &PersonalOptionsHandler::CreateProfile)); @@ -227,7 +222,7 @@ void PersonalOptionsHandler::Observe(int type, SendProfilesInfo(); #if defined(OS_CHROMEOS) } else if (type == chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED) { - LoadAccountPicture(NULL); + UpdateAccountPicture(); #endif } else { OptionsPageUIHandler::Observe(type, source, details); @@ -386,25 +381,13 @@ void PersonalOptionsHandler::ThemesSetGTK(const ListValue* args) { #endif #if defined(OS_CHROMEOS) -void PersonalOptionsHandler::LoadAccountPicture(const ListValue* args) { - const chromeos::UserManager::User& user = - chromeos::UserManager::Get()->logged_in_user(); - std::string email = user.email(); +void PersonalOptionsHandler::UpdateAccountPicture() { + std::string email = chromeos::UserManager::Get()->logged_in_user().email(); if (!email.empty()) { - // int64 is either long or long long, but we need a certain format - // specifier. - long long timestamp = base::TimeTicks::Now().ToInternalValue(); - StringValue image_url( - StringPrintf("%s%s?id=%lld", - chrome::kChromeUIUserImageURL, - email.c_str(), - timestamp)); - web_ui_->CallJavascriptFunction("PersonalOptions.setAccountPicture", - image_url); - - StringValue email_value(email); + web_ui_->CallJavascriptFunction("PersonalOptions.updateAccountPicture"); + base::StringValue email_value(email); web_ui_->CallJavascriptFunction("AccountsOptions.updateAccountPicture", - email_value, image_url); + email_value); } } #endif @@ -437,4 +420,3 @@ void PersonalOptionsHandler::SendProfilesInfo() { void PersonalOptionsHandler::CreateProfile(const ListValue* args) { ProfileManager::CreateMultiProfileAsync(); } - diff --git a/chrome/browser/ui/webui/options/personal_options_handler.h b/chrome/browser/ui/webui/options/personal_options_handler.h index c38cf97..4daee0b 100644 --- a/chrome/browser/ui/webui/options/personal_options_handler.h +++ b/chrome/browser/ui/webui/options/personal_options_handler.h @@ -43,7 +43,7 @@ class PersonalOptionsHandler : public OptionsPageUIHandler, #endif #if defined(OS_CHROMEOS) - void LoadAccountPicture(const ListValue* args); + void UpdateAccountPicture(); NotificationRegistrar registrar_; #endif |