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/profiles/profile_info_cache.h" | 5 #include "chrome/browser/profiles/profile_info_cache.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/i18n/case_conversion.h" | 10 #include "base/i18n/case_conversion.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 IDR_PROFILE_AVATAR_16, | 79 IDR_PROFILE_AVATAR_16, |
80 IDR_PROFILE_AVATAR_17, | 80 IDR_PROFILE_AVATAR_17, |
81 IDR_PROFILE_AVATAR_18, | 81 IDR_PROFILE_AVATAR_18, |
82 IDR_PROFILE_AVATAR_19, | 82 IDR_PROFILE_AVATAR_19, |
83 IDR_PROFILE_AVATAR_20, | 83 IDR_PROFILE_AVATAR_20, |
84 IDR_PROFILE_AVATAR_21, | 84 IDR_PROFILE_AVATAR_21, |
85 IDR_PROFILE_AVATAR_22, | 85 IDR_PROFILE_AVATAR_22, |
86 IDR_PROFILE_AVATAR_23, | 86 IDR_PROFILE_AVATAR_23, |
87 IDR_PROFILE_AVATAR_24, | 87 IDR_PROFILE_AVATAR_24, |
88 IDR_PROFILE_AVATAR_25, | 88 IDR_PROFILE_AVATAR_25, |
| 89 IDR_PROFILE_AVATAR_26, |
89 }; | 90 }; |
90 | 91 |
91 const size_t kDefaultAvatarIconsCount = arraysize(kDefaultAvatarIconResources); | 92 const size_t kDefaultAvatarIconsCount = arraysize(kDefaultAvatarIconResources); |
92 | 93 |
93 // The first 8 icons are generic. | 94 // The first 8 icons are generic. |
94 const size_t kGenericIconCount = 8; | 95 const size_t kGenericIconCount = 8; |
95 | 96 |
| 97 // The avatar used as a placeholder (grey silhouette). |
| 98 const int kPlaceholderAvatarIcon = 26; |
| 99 |
96 // First eight are generic icons, which use IDS_NUMBERED_PROFILE_NAME. | 100 // First eight are generic icons, which use IDS_NUMBERED_PROFILE_NAME. |
97 const int kDefaultNames[] = { | 101 const int kDefaultNames[] = { |
98 IDS_DEFAULT_AVATAR_NAME_8, | 102 IDS_DEFAULT_AVATAR_NAME_8, |
99 IDS_DEFAULT_AVATAR_NAME_9, | 103 IDS_DEFAULT_AVATAR_NAME_9, |
100 IDS_DEFAULT_AVATAR_NAME_10, | 104 IDS_DEFAULT_AVATAR_NAME_10, |
101 IDS_DEFAULT_AVATAR_NAME_11, | 105 IDS_DEFAULT_AVATAR_NAME_11, |
102 IDS_DEFAULT_AVATAR_NAME_12, | 106 IDS_DEFAULT_AVATAR_NAME_12, |
103 IDS_DEFAULT_AVATAR_NAME_13, | 107 IDS_DEFAULT_AVATAR_NAME_13, |
104 IDS_DEFAULT_AVATAR_NAME_14, | 108 IDS_DEFAULT_AVATAR_NAME_14, |
105 IDS_DEFAULT_AVATAR_NAME_15, | 109 IDS_DEFAULT_AVATAR_NAME_15, |
106 IDS_DEFAULT_AVATAR_NAME_16, | 110 IDS_DEFAULT_AVATAR_NAME_16, |
107 IDS_DEFAULT_AVATAR_NAME_17, | 111 IDS_DEFAULT_AVATAR_NAME_17, |
108 IDS_DEFAULT_AVATAR_NAME_18, | 112 IDS_DEFAULT_AVATAR_NAME_18, |
109 IDS_DEFAULT_AVATAR_NAME_19, | 113 IDS_DEFAULT_AVATAR_NAME_19, |
110 IDS_DEFAULT_AVATAR_NAME_20, | 114 IDS_DEFAULT_AVATAR_NAME_20, |
111 IDS_DEFAULT_AVATAR_NAME_21, | 115 IDS_DEFAULT_AVATAR_NAME_21, |
112 IDS_DEFAULT_AVATAR_NAME_22, | 116 IDS_DEFAULT_AVATAR_NAME_22, |
113 IDS_DEFAULT_AVATAR_NAME_23, | 117 IDS_DEFAULT_AVATAR_NAME_23, |
114 IDS_DEFAULT_AVATAR_NAME_24, | 118 IDS_DEFAULT_AVATAR_NAME_24, |
115 IDS_DEFAULT_AVATAR_NAME_25 | 119 IDS_DEFAULT_AVATAR_NAME_25, |
| 120 IDS_DEFAULT_AVATAR_NAME_26 |
116 }; | 121 }; |
117 | 122 |
118 typedef std::vector<unsigned char> ImageData; | 123 typedef std::vector<unsigned char> ImageData; |
119 | 124 |
120 // Writes |data| to disk and takes ownership of the pointer. On completion | 125 // Writes |data| to disk and takes ownership of the pointer. On completion |
121 // |success| is set to true on success and false on failure. | 126 // |success| is set to true on success and false on failure. |
122 void SaveBitmap(ImageData* data, | 127 void SaveBitmap(ImageData* data, |
123 const base::FilePath& image_path, | 128 const base::FilePath& image_path, |
124 bool* success) { | 129 bool* success) { |
125 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); | 130 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
858 | 863 |
859 const base::FilePath& ProfileInfoCache::GetUserDataDir() const { | 864 const base::FilePath& ProfileInfoCache::GetUserDataDir() const { |
860 return user_data_dir_; | 865 return user_data_dir_; |
861 } | 866 } |
862 | 867 |
863 // static | 868 // static |
864 size_t ProfileInfoCache::GetDefaultAvatarIconCount() { | 869 size_t ProfileInfoCache::GetDefaultAvatarIconCount() { |
865 return kDefaultAvatarIconsCount; | 870 return kDefaultAvatarIconsCount; |
866 } | 871 } |
867 | 872 |
| 873 |
| 874 int ProfileInfoCache::GetPlaceholderAvatarIndex() { |
| 875 return kPlaceholderAvatarIcon; |
| 876 } |
| 877 |
| 878 int ProfileInfoCache::GetPlaceholderAvatarIconResourceID() { |
| 879 return IDR_PROFILE_AVATAR_26; |
| 880 } |
| 881 |
868 // static | 882 // static |
869 int ProfileInfoCache::GetDefaultAvatarIconResourceIDAtIndex(size_t index) { | 883 int ProfileInfoCache::GetDefaultAvatarIconResourceIDAtIndex(size_t index) { |
870 DCHECK(IsDefaultAvatarIconIndex(index)); | 884 DCHECK(IsDefaultAvatarIconIndex(index)); |
871 return kDefaultAvatarIconResources[index]; | 885 return kDefaultAvatarIconResources[index]; |
872 } | 886 } |
873 | 887 |
874 // static | 888 // static |
875 std::string ProfileInfoCache::GetDefaultAvatarIconUrl(size_t index) { | 889 std::string ProfileInfoCache::GetDefaultAvatarIconUrl(size_t index) { |
876 DCHECK(IsDefaultAvatarIconIndex(index)); | 890 DCHECK(IsDefaultAvatarIconIndex(index)); |
877 return base::StringPrintf("%s%" PRIuS, kDefaultUrlPrefix, index); | 891 return base::StringPrintf("%s%" PRIuS, kDefaultUrlPrefix, index); |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
988 info->GetString(kNameKey, &name); | 1002 info->GetString(kNameKey, &name); |
989 names.push_back(name); | 1003 names.push_back(name); |
990 } | 1004 } |
991 return names; | 1005 return names; |
992 } | 1006 } |
993 | 1007 |
994 // static | 1008 // static |
995 void ProfileInfoCache::RegisterPrefs(PrefRegistrySimple* registry) { | 1009 void ProfileInfoCache::RegisterPrefs(PrefRegistrySimple* registry) { |
996 registry->RegisterDictionaryPref(prefs::kProfileInfoCache); | 1010 registry->RegisterDictionaryPref(prefs::kProfileInfoCache); |
997 } | 1011 } |
OLD | NEW |