Chromium Code Reviews| Index: chrome/browser/ui/webui/settings/people_handler.cc |
| diff --git a/chrome/browser/ui/webui/settings/people_handler.cc b/chrome/browser/ui/webui/settings/people_handler.cc |
| index 75be9f41d8bdc7b9e7ad9ad51531a66be910032d..996e1550cf2611bf02474a51e97adcc29420f1c4 100644 |
| --- a/chrome/browser/ui/webui/settings/people_handler.cc |
| +++ b/chrome/browser/ui/webui/settings/people_handler.cc |
| @@ -215,6 +215,8 @@ PeopleHandler::PeopleHandler(Profile* profile) |
| ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_)); |
| if (sync_service) |
| sync_service_observer_.Add(sync_service); |
| + |
| + g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this); |
| } |
| PeopleHandler::~PeopleHandler() { |
| @@ -224,6 +226,9 @@ PeopleHandler::~PeopleHandler() { |
| // This case is hit when the user performs a back navigation. |
| CloseSyncSetup(); |
| + |
| + g_browser_process->profile_manager()-> |
| + GetProfileInfoCache().RemoveObserver(this); |
| } |
| void PeopleHandler::ConfigureSyncDone() { |
| @@ -258,6 +263,9 @@ bool PeopleHandler::IsActiveLogin() const { |
| void PeopleHandler::RegisterMessages() { |
| web_ui()->RegisterMessageCallback( |
| + "GetProfileInfo", |
| + base::Bind(&PeopleHandler::HandleGetProfileInfo, base::Unretained(this))); |
| + web_ui()->RegisterMessageCallback( |
| "SyncSetupDidClosePage", |
| base::Bind(&PeopleHandler::OnDidClosePage, base::Unretained(this))); |
| web_ui()->RegisterMessageCallback( |
| @@ -430,6 +438,16 @@ ProfileSyncService* PeopleHandler::GetSyncService() const { |
| : nullptr; |
| } |
| +void PeopleHandler::HandleGetProfileInfo(const base::ListValue* args) { |
| + std::string name; |
| + std::string icon_url; |
| + GetAccountNameAndIcon(*profile_, &name, &icon_url); |
| + |
| + web_ui()->CallJavascriptFunction("settings.SyncPrivateApi.receiveProfileInfo", |
| + base::StringValue(name), |
| + base::StringValue(icon_url)); |
| +} |
| + |
| void PeopleHandler::HandleConfigure(const base::ListValue* args) { |
| DCHECK(!sync_startup_tracker_); |
| std::string json; |
| @@ -765,6 +783,17 @@ void PeopleHandler::OnStateChanged() { |
| UpdateSyncState(); |
| } |
| +void PeopleHandler::OnProfileNameChanged( |
| + const base::FilePath& profile_path, |
| + const base::string16& old_profile_name) { |
|
dschuyler
2015/12/22 18:47:48
comment out unused params
tommycli
2015/12/22 21:58:33
Done.
|
| + HandleGetProfileInfo(nullptr); |
| +} |
| + |
| +void PeopleHandler::OnProfileAvatarChanged( |
| + const base::FilePath& profile_path) { |
|
dschuyler
2015/12/22 18:47:48
comment out unused param name.
tommycli
2015/12/22 21:58:33
Done.
|
| + HandleGetProfileInfo(nullptr); |
| +} |
| + |
| scoped_ptr<base::DictionaryValue> PeopleHandler::GetSyncStateDictionary() { |
| // The items which are to be written into |sync_status| are also described in |
| // chrome/browser/resources/options/browser_options.js in @typedef |
| @@ -815,12 +844,6 @@ scoped_ptr<base::DictionaryValue> PeopleHandler::GetSyncStateDictionary() { |
| sync_status->SetBoolean("hasUnrecoverableError", |
| service && service->HasUnrecoverableError()); |
| - std::string name; |
| - std::string icon_url; |
| - GetAccountNameAndIcon(*profile_, &name, &icon_url); |
| - sync_status->SetString("name", name); |
| - sync_status->SetString("iconURL", icon_url); |
| - |
| return sync_status.Pass(); |
| } |