| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/ntp/ntp_login_handler.h" | 5 #include "chrome/browser/ui/webui/ntp/ntp_login_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 } // namespace | 81 } // namespace |
| 82 | 82 |
| 83 NTPLoginHandler::NTPLoginHandler() { | 83 NTPLoginHandler::NTPLoginHandler() { |
| 84 } | 84 } |
| 85 | 85 |
| 86 NTPLoginHandler::~NTPLoginHandler() { | 86 NTPLoginHandler::~NTPLoginHandler() { |
| 87 } | 87 } |
| 88 | 88 |
| 89 void NTPLoginHandler::RegisterMessages() { | 89 void NTPLoginHandler::RegisterMessages() { |
| 90 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | 90 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| 91 username_pref_.Init(prefs::kGoogleServicesUsername, pref_service, this); | 91 username_pref_.Init(prefs::kGoogleServicesUsername, |
| 92 pref_service, |
| 93 base::Bind(&NTPLoginHandler::UpdateLogin, |
| 94 base::Unretained(this))); |
| 92 | 95 |
| 93 registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, | 96 registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, |
| 94 content::NotificationService::AllSources()); | 97 content::NotificationService::AllSources()); |
| 95 | 98 |
| 96 web_ui()->RegisterMessageCallback("initializeSyncLogin", | 99 web_ui()->RegisterMessageCallback("initializeSyncLogin", |
| 97 base::Bind(&NTPLoginHandler::HandleInitializeSyncLogin, | 100 base::Bind(&NTPLoginHandler::HandleInitializeSyncLogin, |
| 98 base::Unretained(this))); | 101 base::Unretained(this))); |
| 99 web_ui()->RegisterMessageCallback("showSyncLoginUI", | 102 web_ui()->RegisterMessageCallback("showSyncLoginUI", |
| 100 base::Bind(&NTPLoginHandler::HandleShowSyncLoginUI, | 103 base::Bind(&NTPLoginHandler::HandleShowSyncLoginUI, |
| 101 base::Unretained(this))); | 104 base::Unretained(this))); |
| 102 web_ui()->RegisterMessageCallback("loginMessageSeen", | 105 web_ui()->RegisterMessageCallback("loginMessageSeen", |
| 103 base::Bind(&NTPLoginHandler::HandleLoginMessageSeen, | 106 base::Bind(&NTPLoginHandler::HandleLoginMessageSeen, |
| 104 base::Unretained(this))); | 107 base::Unretained(this))); |
| 105 web_ui()->RegisterMessageCallback("showAdvancedLoginUI", | 108 web_ui()->RegisterMessageCallback("showAdvancedLoginUI", |
| 106 base::Bind(&NTPLoginHandler::HandleShowAdvancedLoginUI, | 109 base::Bind(&NTPLoginHandler::HandleShowAdvancedLoginUI, |
| 107 base::Unretained(this))); | 110 base::Unretained(this))); |
| 108 } | 111 } |
| 109 | 112 |
| 110 void NTPLoginHandler::Observe(int type, | 113 void NTPLoginHandler::Observe(int type, |
| 111 const content::NotificationSource& source, | 114 const content::NotificationSource& source, |
| 112 const content::NotificationDetails& details) { | 115 const content::NotificationDetails& details) { |
| 113 if (type == chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED) { | 116 if (type == chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED) { |
| 114 UpdateLogin(); | 117 UpdateLogin(); |
| 115 } else { | 118 } else { |
| 116 NOTREACHED(); | 119 NOTREACHED(); |
| 117 } | 120 } |
| 118 } | 121 } |
| 119 | 122 |
| 120 void NTPLoginHandler::OnPreferenceChanged(PrefServiceBase* service, | |
| 121 const std::string& pref_name) { | |
| 122 if (prefs::kGoogleServicesUsername == pref_name) | |
| 123 UpdateLogin(); | |
| 124 } | |
| 125 | |
| 126 void NTPLoginHandler::HandleInitializeSyncLogin(const ListValue* args) { | 123 void NTPLoginHandler::HandleInitializeSyncLogin(const ListValue* args) { |
| 127 UpdateLogin(); | 124 UpdateLogin(); |
| 128 } | 125 } |
| 129 | 126 |
| 130 void NTPLoginHandler::HandleShowSyncLoginUI(const ListValue* args) { | 127 void NTPLoginHandler::HandleShowSyncLoginUI(const ListValue* args) { |
| 131 Profile* profile = Profile::FromWebUI(web_ui()); | 128 Profile* profile = Profile::FromWebUI(web_ui()); |
| 132 std::string username = profile->GetPrefs()->GetString( | 129 std::string username = profile->GetPrefs()->GetString( |
| 133 prefs::kGoogleServicesUsername); | 130 prefs::kGoogleServicesUsername); |
| 134 content::WebContents* web_contents = web_ui()->GetWebContents(); | 131 content::WebContents* web_contents = web_ui()->GetWebContents(); |
| 135 Browser* browser = browser::FindBrowserWithWebContents(web_contents); | 132 Browser* browser = browser::FindBrowserWithWebContents(web_contents); |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); | 272 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); |
| 276 values->SetString("login_status_url", | 273 values->SetString("login_status_url", |
| 277 hide_sync ? std::string() : chrome::kSyncLearnMoreURL); | 274 hide_sync ? std::string() : chrome::kSyncLearnMoreURL); |
| 278 values->SetString("login_status_advanced", | 275 values->SetString("login_status_advanced", |
| 279 hide_sync ? string16() : | 276 hide_sync ? string16() : |
| 280 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_ADVANCED)); | 277 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_ADVANCED)); |
| 281 values->SetString("login_status_dismiss", | 278 values->SetString("login_status_dismiss", |
| 282 hide_sync ? string16() : | 279 hide_sync ? string16() : |
| 283 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_OK)); | 280 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_OK)); |
| 284 } | 281 } |
| OLD | NEW |