diff options
author | alemate <alemate@chromium.org> | 2016-01-13 08:04:48 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-13 16:06:45 +0000 |
commit | 9e6d710b01b32a554f732219eaafcfdf8744dee1 (patch) | |
tree | 98c6945030e587aa98b174d64df5497a4e12c8e2 /components/user_manager | |
parent | 8329f0713e8176551eb85798e0ee007ee65b0d3a (diff) | |
download | chromium_src-9e6d710b01b32a554f732219eaafcfdf8744dee1.zip chromium_src-9e6d710b01b32a554f732219eaafcfdf8744dee1.tar.gz chromium_src-9e6d710b01b32a554f732219eaafcfdf8744dee1.tar.bz2 |
Remove dependency of user_manager::UserManager on ui/base.
This Cl removes depencency of UserManager on targets "chromeos" (via "ui/base").
This way "chromeos" can now depend on UserManager.
TBR=dzhioev@chromium.org
BUG=462823
TEST=manual
Review URL: https://codereview.chromium.org/1558213002
Cr-Commit-Position: refs/heads/master@{#369183}
Diffstat (limited to 'components/user_manager')
-rw-r--r-- | components/user_manager/BUILD.gn | 5 | ||||
-rw-r--r-- | components/user_manager/DEPS | 5 | ||||
-rw-r--r-- | components/user_manager/fake_user_manager.cc | 14 | ||||
-rw-r--r-- | components/user_manager/fake_user_manager.h | 6 | ||||
-rw-r--r-- | components/user_manager/user.cc | 4 | ||||
-rw-r--r-- | components/user_manager/user_image/default_user_images.cc | 262 | ||||
-rw-r--r-- | components/user_manager/user_image/default_user_images.h | 79 | ||||
-rw-r--r-- | components/user_manager/user_manager.h | 9 |
8 files changed, 31 insertions, 353 deletions
diff --git a/components/user_manager/BUILD.gn b/components/user_manager/BUILD.gn index ce676aa..959bcfe 100644 --- a/components/user_manager/BUILD.gn +++ b/components/user_manager/BUILD.gn @@ -29,8 +29,6 @@ component("user_manager") { "remove_user_delegate.h", "user.cc", "user.h", - "user_image/default_user_images.cc", - "user_image/default_user_images.h", "user_image/user_image.cc", "user_image/user_image.h", "user_manager.cc", @@ -43,9 +41,6 @@ component("user_manager") { "//base:prefs", "//components/session_manager/core", "//google_apis", - "//ui/base", - "//ui/chromeos/resources", - "//ui/chromeos/strings", "//url", ] } diff --git a/components/user_manager/DEPS b/components/user_manager/DEPS index 84cc1c6..7411deb 100644 --- a/components/user_manager/DEPS +++ b/components/user_manager/DEPS @@ -5,11 +5,6 @@ include_rules = [ "+components/signin/core/account_id/account_id.h", "+google_apis/gaia/gaia_auth_util.h", "+third_party/skia/include", -"+ui/base/l10n", -"+ui/base/resource", -"+ui/chromeos/resources/grit", -"+ui/chromeos/resources/grit/ui_chromeos_resources.h", -"+ui/chromeos/strings/grit", "+ui/gfx/codec", "+ui/gfx/image", "+url", diff --git a/components/user_manager/fake_user_manager.cc b/components/user_manager/fake_user_manager.cc index b82d519..7dca0e5 100644 --- a/components/user_manager/fake_user_manager.cc +++ b/components/user_manager/fake_user_manager.cc @@ -336,6 +336,15 @@ bool FakeUserManager::HasBrowserRestarted() const { command_line->HasSwitch(chromeos::switches::kLoginUser); } +const gfx::ImageSkia& FakeUserManager::GetResourceImagekiaNamed(int id) const { + NOTIMPLEMENTED(); + return empty_image_; +} + +base::string16 FakeUserManager::GetResourceStringUTF16(int string_id) const { + return base::string16(); +} + void FakeUserManager::ScheduleResolveLocale( const std::string& locale, const base::Closure& on_resolved_callback, @@ -344,4 +353,9 @@ void FakeUserManager::ScheduleResolveLocale( return; } +bool FakeUserManager::IsValidDefaultUserImageId(int image_index) const { + NOTIMPLEMENTED(); + return false; +} + } // namespace user_manager diff --git a/components/user_manager/fake_user_manager.h b/components/user_manager/fake_user_manager.h index 3a7637c..fa36f3e 100644 --- a/components/user_manager/fake_user_manager.h +++ b/components/user_manager/fake_user_manager.h @@ -112,9 +112,12 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase { AccountId* out_account_id) const override; void AsyncRemoveCryptohome(const AccountId& account_id) const override; bool IsSupervisedAccountId(const AccountId& account_id) const override; + const gfx::ImageSkia& GetResourceImagekiaNamed(int id) const override; + base::string16 GetResourceStringUTF16(int string_id) const override; void ScheduleResolveLocale(const std::string& locale, const base::Closure& on_resolved_callback, std::string* out_resolved_locale) const override; + bool IsValidDefaultUserImageId(int image_index) const override; // UserManagerBase overrides: bool AreEphemeralUsersEnabled() const override; @@ -152,6 +155,9 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase { // stub, always empty. AccountId owner_account_id_ = EmptyAccountId(); + // stub. Always empty. + gfx::ImageSkia empty_image_; + DISALLOW_COPY_AND_ASSIGN(FakeUserManager); }; diff --git a/components/user_manager/user.cc b/components/user_manager/user.cc index ef21de5..2a09a22 100644 --- a/components/user_manager/user.cc +++ b/components/user_manager/user.cc @@ -12,7 +12,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/threading/thread_restrictions.h" #include "components/signin/core/account_id/account_id.h" -#include "components/user_manager/user_image/default_user_images.h" +#include "components/user_manager/user_manager.h" #include "google_apis/gaia/gaia_auth_util.h" namespace user_manager { @@ -154,7 +154,7 @@ std::string User::GetAccountName(bool use_display_email) const { } bool User::HasDefaultImage() const { - return image_index_ >= 0 && image_index_ < kDefaultImagesCount; + return UserManager::Get()->IsValidDefaultUserImageId(image_index_); } bool User::CanSyncImage() const { diff --git a/components/user_manager/user_image/default_user_images.cc b/components/user_manager/user_image/default_user_images.cc deleted file mode 100644 index fd4118b..0000000 --- a/components/user_manager/user_image/default_user_images.cc +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/user_manager/user_image/default_user_images.h" - -#include "base/logging.h" -#include "base/macros.h" -#include "base/strings/string_number_conversions.h" -#include "base/strings/string_piece.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "base/sys_info.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/chromeos/resources/grit/ui_chromeos_resources.h" -#include "ui/chromeos/strings/grit/ui_chromeos_strings.h" -#include "ui/gfx/image/image_skia.h" - -namespace user_manager { - -namespace { - -const char kDefaultUrlPrefix[] = "chrome://theme/IDR_LOGIN_DEFAULT_USER_"; -const char kZeroDefaultUrl[] = "chrome://theme/IDR_LOGIN_DEFAULT_USER"; - -// IDs of default user image descriptions. -const int kDefaultImageDescriptions[] = { - 0, // No description for deprecated user image 0. - 0, // No description for deprecated user image 1. - 0, // No description for deprecated user image 2. - 0, // No description for deprecated user image 3. - 0, // No description for deprecated user image 4. - 0, // No description for deprecated user image 5. - 0, // No description for deprecated user image 6. - 0, // No description for deprecated user image 7. - 0, // No description for deprecated user image 8. - 0, // No description for deprecated user image 9. - 0, // No description for deprecated user image 10. - 0, // No description for deprecated user image 11. - 0, // No description for deprecated user image 12. - 0, // No description for deprecated user image 13. - 0, // No description for deprecated user image 14. - 0, // No description for deprecated user image 15. - 0, // No description for deprecated user image 16. - 0, // No description for deprecated user image 17. - 0, // No description for deprecated user image 18. - IDS_LOGIN_DEFAULT_USER_DESC_19, - IDS_LOGIN_DEFAULT_USER_DESC_20, - IDS_LOGIN_DEFAULT_USER_DESC_21, - IDS_LOGIN_DEFAULT_USER_DESC_22, - IDS_LOGIN_DEFAULT_USER_DESC_23, - IDS_LOGIN_DEFAULT_USER_DESC_24, - IDS_LOGIN_DEFAULT_USER_DESC_25, - IDS_LOGIN_DEFAULT_USER_DESC_26, - IDS_LOGIN_DEFAULT_USER_DESC_27, - IDS_LOGIN_DEFAULT_USER_DESC_28, - IDS_LOGIN_DEFAULT_USER_DESC_29, - IDS_LOGIN_DEFAULT_USER_DESC_30, - IDS_LOGIN_DEFAULT_USER_DESC_31, - IDS_LOGIN_DEFAULT_USER_DESC_32, - IDS_LOGIN_DEFAULT_USER_DESC_33, -}; - -// Returns a string consisting of the prefix specified and the index of the -// image if its valid. -std::string GetDefaultImageString(int index, const std::string& prefix) { - if (index < 0 || index >= kDefaultImagesCount) { - DCHECK(!base::SysInfo::IsRunningOnChromeOS()); - return std::string(); - } - return base::StringPrintf("%s%d", prefix.c_str(), index); -} - -// Returns true if the string specified consists of the prefix and one of -// the default images indices. Returns the index of the image in |image_id| -// variable. -bool IsDefaultImageString(const std::string& s, - const std::string& prefix, - int* image_id) { - DCHECK(image_id); - if (!base::StartsWith(s, prefix, base::CompareCase::SENSITIVE)) - return false; - - int image_index = -1; - if (base::StringToInt(base::StringPiece(s.begin() + prefix.length(), s.end()), - &image_index)) { - if (image_index < 0 || image_index >= kDefaultImagesCount) - return false; - *image_id = image_index; - return true; - } - - return false; -} -} // namespace - -std::string GetDefaultImageUrl(int index) { - if (index == 0) - return kZeroDefaultUrl; - return GetDefaultImageString(index, kDefaultUrlPrefix); -} - -bool IsDefaultImageUrl(const std::string& url, int* image_id) { - if (url == kZeroDefaultUrl) { - *image_id = 0; - return true; - } - return IsDefaultImageString(url, kDefaultUrlPrefix, image_id); -} - -const gfx::ImageSkia& GetDefaultImage(int index) { - DCHECK(index >= 0 && index < kDefaultImagesCount); - return *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( - kDefaultImageResourceIDs[index]); -} - -base::string16 GetDefaultImageDescription(int index) { - DCHECK(index >= 0 && index < kDefaultImagesCount); - int string_id = kDefaultImageDescriptions[index]; - if (string_id) - return l10n_util::GetStringUTF16(string_id); - else - return base::string16(); -} - -// Resource IDs of default user images. -const int kDefaultImageResourceIDs[] = { - IDR_LOGIN_DEFAULT_USER, - IDR_LOGIN_DEFAULT_USER_1, - IDR_LOGIN_DEFAULT_USER_2, - IDR_LOGIN_DEFAULT_USER_3, - IDR_LOGIN_DEFAULT_USER_4, - IDR_LOGIN_DEFAULT_USER_5, - IDR_LOGIN_DEFAULT_USER_6, - IDR_LOGIN_DEFAULT_USER_7, - IDR_LOGIN_DEFAULT_USER_8, - IDR_LOGIN_DEFAULT_USER_9, - IDR_LOGIN_DEFAULT_USER_10, - IDR_LOGIN_DEFAULT_USER_11, - IDR_LOGIN_DEFAULT_USER_12, - IDR_LOGIN_DEFAULT_USER_13, - IDR_LOGIN_DEFAULT_USER_14, - IDR_LOGIN_DEFAULT_USER_15, - IDR_LOGIN_DEFAULT_USER_16, - IDR_LOGIN_DEFAULT_USER_17, - IDR_LOGIN_DEFAULT_USER_18, - IDR_LOGIN_DEFAULT_USER_19, - IDR_LOGIN_DEFAULT_USER_20, - IDR_LOGIN_DEFAULT_USER_21, - IDR_LOGIN_DEFAULT_USER_22, - IDR_LOGIN_DEFAULT_USER_23, - IDR_LOGIN_DEFAULT_USER_24, - IDR_LOGIN_DEFAULT_USER_25, - IDR_LOGIN_DEFAULT_USER_26, - IDR_LOGIN_DEFAULT_USER_27, - IDR_LOGIN_DEFAULT_USER_28, - IDR_LOGIN_DEFAULT_USER_29, - IDR_LOGIN_DEFAULT_USER_30, - IDR_LOGIN_DEFAULT_USER_31, - IDR_LOGIN_DEFAULT_USER_32, - IDR_LOGIN_DEFAULT_USER_33, -}; - -const int kDefaultImageAuthorIDs[] = { - IDS_LOGIN_DEFAULT_USER_AUTHOR, - IDS_LOGIN_DEFAULT_USER_AUTHOR_1, - IDS_LOGIN_DEFAULT_USER_AUTHOR_2, - IDS_LOGIN_DEFAULT_USER_AUTHOR_3, - IDS_LOGIN_DEFAULT_USER_AUTHOR_4, - IDS_LOGIN_DEFAULT_USER_AUTHOR_5, - IDS_LOGIN_DEFAULT_USER_AUTHOR_6, - IDS_LOGIN_DEFAULT_USER_AUTHOR_7, - IDS_LOGIN_DEFAULT_USER_AUTHOR_8, - IDS_LOGIN_DEFAULT_USER_AUTHOR_9, - IDS_LOGIN_DEFAULT_USER_AUTHOR_10, - IDS_LOGIN_DEFAULT_USER_AUTHOR_11, - IDS_LOGIN_DEFAULT_USER_AUTHOR_12, - IDS_LOGIN_DEFAULT_USER_AUTHOR_13, - IDS_LOGIN_DEFAULT_USER_AUTHOR_14, - IDS_LOGIN_DEFAULT_USER_AUTHOR_15, - IDS_LOGIN_DEFAULT_USER_AUTHOR_16, - IDS_LOGIN_DEFAULT_USER_AUTHOR_17, - IDS_LOGIN_DEFAULT_USER_AUTHOR_18, - IDS_LOGIN_DEFAULT_USER_AUTHOR_19, - IDS_LOGIN_DEFAULT_USER_AUTHOR_20, - IDS_LOGIN_DEFAULT_USER_AUTHOR_21, - IDS_LOGIN_DEFAULT_USER_AUTHOR_22, - IDS_LOGIN_DEFAULT_USER_AUTHOR_23, - IDS_LOGIN_DEFAULT_USER_AUTHOR_24, - IDS_LOGIN_DEFAULT_USER_AUTHOR_25, - IDS_LOGIN_DEFAULT_USER_AUTHOR_26, - IDS_LOGIN_DEFAULT_USER_AUTHOR_27, - IDS_LOGIN_DEFAULT_USER_AUTHOR_28, - IDS_LOGIN_DEFAULT_USER_AUTHOR_29, - IDS_LOGIN_DEFAULT_USER_AUTHOR_30, - IDS_LOGIN_DEFAULT_USER_AUTHOR_31, - IDS_LOGIN_DEFAULT_USER_AUTHOR_32, - IDS_LOGIN_DEFAULT_USER_AUTHOR_33, -}; - -const int kDefaultImageWebsiteIDs[] = { - IDS_LOGIN_DEFAULT_USER_WEBSITE, - IDS_LOGIN_DEFAULT_USER_WEBSITE_1, - IDS_LOGIN_DEFAULT_USER_WEBSITE_2, - IDS_LOGIN_DEFAULT_USER_WEBSITE_3, - IDS_LOGIN_DEFAULT_USER_WEBSITE_4, - IDS_LOGIN_DEFAULT_USER_WEBSITE_5, - IDS_LOGIN_DEFAULT_USER_WEBSITE_6, - IDS_LOGIN_DEFAULT_USER_WEBSITE_7, - IDS_LOGIN_DEFAULT_USER_WEBSITE_8, - IDS_LOGIN_DEFAULT_USER_WEBSITE_9, - IDS_LOGIN_DEFAULT_USER_WEBSITE_10, - IDS_LOGIN_DEFAULT_USER_WEBSITE_11, - IDS_LOGIN_DEFAULT_USER_WEBSITE_12, - IDS_LOGIN_DEFAULT_USER_WEBSITE_13, - IDS_LOGIN_DEFAULT_USER_WEBSITE_14, - IDS_LOGIN_DEFAULT_USER_WEBSITE_15, - IDS_LOGIN_DEFAULT_USER_WEBSITE_16, - IDS_LOGIN_DEFAULT_USER_WEBSITE_17, - IDS_LOGIN_DEFAULT_USER_WEBSITE_18, - IDS_LOGIN_DEFAULT_USER_WEBSITE_19, - IDS_LOGIN_DEFAULT_USER_WEBSITE_20, - IDS_LOGIN_DEFAULT_USER_WEBSITE_21, - IDS_LOGIN_DEFAULT_USER_WEBSITE_22, - IDS_LOGIN_DEFAULT_USER_WEBSITE_23, - IDS_LOGIN_DEFAULT_USER_WEBSITE_24, - IDS_LOGIN_DEFAULT_USER_WEBSITE_25, - IDS_LOGIN_DEFAULT_USER_WEBSITE_26, - IDS_LOGIN_DEFAULT_USER_WEBSITE_27, - IDS_LOGIN_DEFAULT_USER_WEBSITE_28, - IDS_LOGIN_DEFAULT_USER_WEBSITE_29, - IDS_LOGIN_DEFAULT_USER_WEBSITE_30, - IDS_LOGIN_DEFAULT_USER_WEBSITE_31, - IDS_LOGIN_DEFAULT_USER_WEBSITE_32, - IDS_LOGIN_DEFAULT_USER_WEBSITE_33, -}; - -const int kDefaultImagesCount = arraysize(kDefaultImageResourceIDs); - -const int kFirstDefaultImageIndex = 19; - -// The order and the values of these constants are important for histograms -// of different Chrome OS versions to be merged smoothly. -const int kHistogramImageFromCamera = 19; -const int kHistogramImageFromFile = 20; -const int kHistogramImageOld = 21; -const int kHistogramImageFromProfile = 22; -const int kHistogramVideoFromCamera = 23; -const int kHistogramVideoFromFile = 24; -const int kHistogramImagesCount = kDefaultImagesCount + 6; - -int GetDefaultImageHistogramValue(int index) { - DCHECK(index >= 0 && index < kDefaultImagesCount); - // Create a gap in histogram values for - // [kHistogramImageFromCamera..kHistogramImageFromProfile] block to fit. - if (index < kHistogramImageFromCamera) - return index; - return index + 6; -} - -} // namespace user_manager diff --git a/components/user_manager/user_image/default_user_images.h b/components/user_manager/user_image/default_user_images.h deleted file mode 100644 index 6a1cc4c..0000000 --- a/components/user_manager/user_image/default_user_images.h +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_USER_MANAGER_USER_IMAGE_DEFAULT_USER_IMAGES_H_ -#define COMPONENTS_USER_MANAGER_USER_IMAGE_DEFAULT_USER_IMAGES_H_ - -#include <stddef.h> - -#include <string> - -#include "base/strings/string16.h" -#include "components/user_manager/user_manager_export.h" - -namespace gfx { -class ImageSkia; -} - -namespace user_manager { - -// Returns URL to default user image with specified index. -USER_MANAGER_EXPORT std::string GetDefaultImageUrl(int index); - -// Checks if the given URL points to one of the default images. If it is, -// returns true and its index through |image_id|. If not, returns false. -USER_MANAGER_EXPORT bool IsDefaultImageUrl(const std::string& url, - int* image_id); - -// Returns bitmap of default user image with specified index. -USER_MANAGER_EXPORT const gfx::ImageSkia& GetDefaultImage(int index); - -// Returns a description of a default user image with specified index. -USER_MANAGER_EXPORT base::string16 GetDefaultImageDescription(int index); - -// Resource IDs of default user images. -USER_MANAGER_EXPORT extern const int kDefaultImageResourceIDs[]; - -// String IDs of author names for default user images. -USER_MANAGER_EXPORT extern const int kDefaultImageAuthorIDs[]; - -// String IDs of websites for default user images. -USER_MANAGER_EXPORT extern const int kDefaultImageWebsiteIDs[]; - -// Number of default images. -USER_MANAGER_EXPORT extern const int kDefaultImagesCount; - -// The starting index of default images available for selection. Note that -// existing users may have images with smaller indices. -USER_MANAGER_EXPORT extern const int kFirstDefaultImageIndex; - -/// Histogram values. //////////////////////////////////////////////////////// - -// Histogram value for user image taken from file. -USER_MANAGER_EXPORT extern const int kHistogramImageFromFile; - -// Histogram value for user image taken from camera. -USER_MANAGER_EXPORT extern const int kHistogramImageFromCamera; - -// Histogram value a previously used image from camera/file. -USER_MANAGER_EXPORT extern const int kHistogramImageOld; - -// Histogram value for user image from G+ profile. -USER_MANAGER_EXPORT extern const int kHistogramImageFromProfile; - -// Histogram value for user video (animated avatar) from camera. -USER_MANAGER_EXPORT extern const int kHistogramVideoFromCamera; - -// Histogram value for user video from file. -USER_MANAGER_EXPORT extern const int kHistogramVideoFromFile; - -// Number of possible histogram values for user images. -USER_MANAGER_EXPORT extern const int kHistogramImagesCount; - -// Returns the histogram value corresponding to the given default image index. -USER_MANAGER_EXPORT int GetDefaultImageHistogramValue(int index); - -} // namespace user_manager - -#endif // COMPONENTS_USER_MANAGER_USER_IMAGE_DEFAULT_USER_IMAGES_H_ diff --git a/components/user_manager/user_manager.h b/components/user_manager/user_manager.h index e95b81a..601eb41 100644 --- a/components/user_manager/user_manager.h +++ b/components/user_manager/user_manager.h @@ -356,6 +356,12 @@ class USER_MANAGER_EXPORT UserManager { // user's session. virtual bool HasBrowserRestarted() const = 0; + // Returns image from resources bundle. + virtual const gfx::ImageSkia& GetResourceImagekiaNamed(int id) const = 0; + + // Returns string from resources bundle. + virtual base::string16 GetResourceStringUTF16(int string_id) const = 0; + // Schedules CheckAndResolveLocale using given task runner and // |on_resolved_callback| as reply callback. virtual void ScheduleResolveLocale( @@ -363,6 +369,9 @@ class USER_MANAGER_EXPORT UserManager { const base::Closure& on_resolved_callback, std::string* out_resolved_locale) const = 0; + // Returns true if |image_index| is a valid default user image index. + virtual bool IsValidDefaultUserImageId(int image_index) const = 0; + protected: // Sets UserManager instance. static void SetInstance(UserManager* user_manager); |