| 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 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 void NTPLoginHandler::UpdateLogin() { | 199 void NTPLoginHandler::UpdateLogin() { |
| 200 Profile* profile = Profile::FromWebUI(web_ui()); | 200 Profile* profile = Profile::FromWebUI(web_ui()); |
| 201 std::string username = profile->GetPrefs()->GetString( | 201 std::string username = profile->GetPrefs()->GetString( |
| 202 prefs::kGoogleServicesUsername); | 202 prefs::kGoogleServicesUsername); |
| 203 | 203 |
| 204 string16 header, sub_header; | 204 string16 header, sub_header; |
| 205 std::string icon_url; | 205 std::string icon_url; |
| 206 if (!username.empty()) { | 206 if (!username.empty()) { |
| 207 ProfileInfoCache& cache = | 207 ProfileInfoCache& cache = |
| 208 g_browser_process->profile_manager()->GetProfileInfoCache(); | 208 g_browser_process->profile_manager()->GetProfileInfoCache(); |
| 209 size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); | 209 |
| 210 if (profile_index != std::string::npos) { | 210 ProfileInfoEntry entry; |
| 211 if (cache.GetInfoForProfile(profile->GetPath(), &entry)) { |
| 211 // Only show the profile picture and full name for the single profile | 212 // Only show the profile picture and full name for the single profile |
| 212 // case. In the multi-profile case the profile picture is visible in the | 213 // case. In the multi-profile case the profile picture is visible in the |
| 213 // title bar and the full name can be ambiguous. | 214 // title bar and the full name can be ambiguous. |
| 214 if (cache.GetNumberOfProfiles() == 1) { | 215 if (cache.GetNumberOfProfiles() == 1) { |
| 215 string16 name = cache.GetGAIANameOfProfileAtIndex(profile_index); | 216 string16 name = entry.GAIA_full_name(); |
| 216 if (!name.empty()) | 217 if (!name.empty()) |
| 217 header = CreateSpanWithClass(name, "profile-name"); | 218 header = CreateSpanWithClass(name, "profile-name"); |
| 218 const gfx::Image* image = | 219 const gfx::Image* image = |
| 219 cache.GetGAIAPictureOfProfileAtIndex(profile_index); | 220 cache.GetGAIAPictureOfProfile(entry.path()); |
| 220 if (image) | 221 if (image) |
| 221 icon_url = webui::GetBitmapDataUrl(GetGAIAPictureForNTP(*image)); | 222 icon_url = webui::GetBitmapDataUrl(GetGAIAPictureForNTP(*image)); |
| 222 } | 223 } |
| 223 if (header.empty()) | 224 if (header.empty()) |
| 224 header = CreateSpanWithClass(UTF8ToUTF16(username), "profile-name"); | 225 header = CreateSpanWithClass(UTF8ToUTF16(username), "profile-name"); |
| 225 } | 226 } |
| 226 } else { | 227 } else { |
| 227 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) | 228 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) |
| 228 // Android uses a custom sign in promo. Don't call the function | 229 // Android uses a custom sign in promo. Don't call the function |
| 229 // signin::ShouldShowPromo() since it does a bunch of checks that are not | 230 // signin::ShouldShowPromo() since it does a bunch of checks that are not |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 values->SetString("login_status_message", message); | 281 values->SetString("login_status_message", message); |
| 281 values->SetString("login_status_url", | 282 values->SetString("login_status_url", |
| 282 hide_sync ? std::string() : chrome::kSyncLearnMoreURL); | 283 hide_sync ? std::string() : chrome::kSyncLearnMoreURL); |
| 283 values->SetString("login_status_advanced", | 284 values->SetString("login_status_advanced", |
| 284 hide_sync ? string16() : | 285 hide_sync ? string16() : |
| 285 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_ADVANCED)); | 286 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_ADVANCED)); |
| 286 values->SetString("login_status_dismiss", | 287 values->SetString("login_status_dismiss", |
| 287 hide_sync ? string16() : | 288 hide_sync ? string16() : |
| 288 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_OK)); | 289 l10n_util::GetStringUTF16(IDS_SYNC_PROMO_NTP_BUBBLE_OK)); |
| 289 } | 290 } |
| OLD | NEW |