summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui
diff options
context:
space:
mode:
authorivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-06 08:40:20 +0000
committerivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-06 08:40:20 +0000
commit87a843440fd19440d5cdb96b84b6f15b5a2e8e9c (patch)
treee3d2810460792fa3470153457bf6dedbfc7b10c6 /chrome/browser/ui
parentae5281b72d031da979880733e1b2e36fb525da99 (diff)
downloadchromium_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.cc34
-rw-r--r--chrome/browser/ui/webui/options/personal_options_handler.h2
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