summaryrefslogtreecommitdiffstats
path: root/components/user_manager
diff options
context:
space:
mode:
authoralemate <alemate@chromium.org>2016-01-13 08:04:48 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-13 16:06:45 +0000
commit9e6d710b01b32a554f732219eaafcfdf8744dee1 (patch)
tree98c6945030e587aa98b174d64df5497a4e12c8e2 /components/user_manager
parent8329f0713e8176551eb85798e0ee007ee65b0d3a (diff)
downloadchromium_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.gn5
-rw-r--r--components/user_manager/DEPS5
-rw-r--r--components/user_manager/fake_user_manager.cc14
-rw-r--r--components/user_manager/fake_user_manager.h6
-rw-r--r--components/user_manager/user.cc4
-rw-r--r--components/user_manager/user_image/default_user_images.cc262
-rw-r--r--components/user_manager/user_image/default_user_images.h79
-rw-r--r--components/user_manager/user_manager.h9
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);