OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/chromeos/profiles/profile_list_chromeos.h" | 5 #include "chrome/browser/chromeos/profiles/profile_list_chromeos.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "chrome/browser/chromeos/login/users/user_manager.h" | |
12 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 11 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
13 #include "chrome/browser/profiles/profile_avatar_icon_util.h" | 12 #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
14 #include "chrome/browser/profiles/profile_manager.h" | 13 #include "chrome/browser/profiles/profile_manager.h" |
15 #include "chrome/common/chrome_switches.h" | 14 #include "chrome/common/chrome_switches.h" |
16 #include "components/signin/core/common/profile_management_switches.h" | 15 #include "components/signin/core/common/profile_management_switches.h" |
| 16 #include "components/user_manager/user_manager.h" |
17 | 17 |
18 // static | 18 // static |
19 ProfileList* ProfileList::Create(ProfileInfoInterface* profile_cache) { | 19 ProfileList* ProfileList::Create(ProfileInfoInterface* profile_cache) { |
20 return new chromeos::ProfileListChromeOS(profile_cache); | 20 return new chromeos::ProfileListChromeOS(profile_cache); |
21 } | 21 } |
22 | 22 |
23 namespace chromeos { | 23 namespace chromeos { |
24 | 24 |
25 ProfileListChromeOS::ProfileListChromeOS(ProfileInfoInterface* profile_cache) | 25 ProfileListChromeOS::ProfileListChromeOS(ProfileInfoInterface* profile_cache) |
26 : profile_info_(profile_cache) { | 26 : profile_info_(profile_cache) { |
27 } | 27 } |
28 | 28 |
29 ProfileListChromeOS::~ProfileListChromeOS() { | 29 ProfileListChromeOS::~ProfileListChromeOS() { |
30 ClearMenu(); | 30 ClearMenu(); |
31 } | 31 } |
32 | 32 |
33 size_t ProfileListChromeOS::GetNumberOfItems() const { | 33 size_t ProfileListChromeOS::GetNumberOfItems() const { |
34 return items_.size(); | 34 return items_.size(); |
35 } | 35 } |
36 | 36 |
37 const AvatarMenu::Item& ProfileListChromeOS::GetItemAt(size_t index) const { | 37 const AvatarMenu::Item& ProfileListChromeOS::GetItemAt(size_t index) const { |
38 DCHECK_LT(index, items_.size()); | 38 DCHECK_LT(index, items_.size()); |
39 return *items_[index]; | 39 return *items_[index]; |
40 } | 40 } |
41 | 41 |
42 void ProfileListChromeOS::RebuildMenu() { | 42 void ProfileListChromeOS::RebuildMenu() { |
43 ClearMenu(); | 43 ClearMenu(); |
44 | 44 |
45 // Filter for profiles associated with logged-in users. | 45 // Filter for profiles associated with logged-in users. |
46 user_manager::UserList users = UserManager::Get()->GetLoggedInUsers(); | 46 user_manager::UserList users = |
| 47 user_manager::UserManager::Get()->GetLoggedInUsers(); |
47 | 48 |
48 // Add corresponding profiles. | 49 // Add corresponding profiles. |
49 for (user_manager::UserList::const_iterator it = users.begin(); | 50 for (user_manager::UserList::const_iterator it = users.begin(); |
50 it != users.end(); | 51 it != users.end(); |
51 ++it) { | 52 ++it) { |
52 size_t i = profile_info_->GetIndexOfProfileWithPath( | 53 size_t i = profile_info_->GetIndexOfProfileWithPath( |
53 ProfileHelper::GetProfilePathByUserIdHash((*it)->username_hash())); | 54 ProfileHelper::GetProfilePathByUserIdHash((*it)->username_hash())); |
54 | 55 |
55 gfx::Image icon = gfx::Image((*it)->GetImage()); | 56 gfx::Image icon = gfx::Image((*it)->GetImage()); |
56 if (!switches::IsNewProfileManagement() && !icon.IsEmpty()) { | 57 if (!switches::IsNewProfileManagement() && !icon.IsEmpty()) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 void ProfileListChromeOS::ClearMenu() { | 100 void ProfileListChromeOS::ClearMenu() { |
100 STLDeleteElements(&items_); | 101 STLDeleteElements(&items_); |
101 } | 102 } |
102 | 103 |
103 void ProfileListChromeOS::SortMenu() { | 104 void ProfileListChromeOS::SortMenu() { |
104 // Sort list of items by name. | 105 // Sort list of items by name. |
105 std::sort(items_.begin(), items_.end(), &AvatarMenu::CompareItems); | 106 std::sort(items_.begin(), items_.end(), &AvatarMenu::CompareItems); |
106 } | 107 } |
107 | 108 |
108 } // namespace chromeos | 109 } // namespace chromeos |
OLD | NEW |