Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1366)

Unified Diff: chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc

Issue 398753004: [cros] Move User class to user_manager component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
index 75440991520d59fdc24697913a49e52952ec28e3..4683a6c432f57e89dc420c6068d7d91defb1852c 100644
--- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
+++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
@@ -35,7 +35,9 @@
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
+#include "grit/theme_resources.h"
#include "policy/policy_constants.h"
+#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/image/image_skia.h"
namespace chromeos {
@@ -145,10 +147,10 @@ void AddProfileImageTimeHistogram(ProfileDownloadResult result,
// Converts |image_index| to UMA histogram value.
int ImageIndexToHistogramIndex(int image_index) {
switch (image_index) {
- case User::kExternalImageIndex:
+ case user_manager::User::USER_IMAGE_EXTERNAL:
// TODO(ivankr): Distinguish this from selected from file.
return user_manager::kHistogramImageFromCamera;
- case User::kProfileImageIndex:
+ case user_manager::User::USER_IMAGE_PROFILE:
return user_manager::kHistogramImageFromProfile;
default:
return image_index;
@@ -305,8 +307,8 @@ void UserImageManagerImpl::Job::LoadImage(base::FilePath image_path,
user_manager::UserImage(user_manager::GetDefaultImage(image_index_));
UpdateUser();
NotifyJobDone();
- } else if (image_index_ == User::kExternalImageIndex ||
- image_index_ == User::kProfileImageIndex) {
+ } else if (image_index_ == user_manager::User::USER_IMAGE_EXTERNAL ||
+ image_index_ == user_manager::User::USER_IMAGE_PROFILE) {
// Load the user image from a file referenced by |image_path|. This happens
// asynchronously. The JPEG image loader can be used here because
// LoadImage() is called only for users whose user image has previously
@@ -345,8 +347,8 @@ void UserImageManagerImpl::Job::SetToImage(
DCHECK(!run_);
run_ = true;
- DCHECK(image_index == User::kExternalImageIndex ||
- image_index == User::kProfileImageIndex);
+ DCHECK(image_index == user_manager::User::USER_IMAGE_EXTERNAL ||
+ image_index == user_manager::User::USER_IMAGE_PROFILE);
image_index_ = image_index;
user_image_ = user_image;
@@ -359,7 +361,7 @@ void UserImageManagerImpl::Job::SetToImageData(scoped_ptr<std::string> data) {
DCHECK(!run_);
run_ = true;
- image_index_ = User::kExternalImageIndex;
+ image_index_ = user_manager::User::USER_IMAGE_EXTERNAL;
// This method uses the image_loader_, not the unsafe_image_loader_:
// * This is necessary because the method is used to update the user image
@@ -408,14 +410,21 @@ void UserImageManagerImpl::Job::OnLoadImageDone(
}
void UserImageManagerImpl::Job::UpdateUser() {
- User* user = parent_->user_manager_->FindUserAndModify(user_id());
+ user_manager::User* user =
+ parent_->user_manager_->FindUserAndModify(user_id());
if (!user)
return;
- if (!user_image_.image().isNull())
+ if (!user_image_.image().isNull()) {
user->SetImage(user_image_, image_index_);
- else
- user->SetStubImage(image_index_, false);
+ } else {
+ user->SetStubImage(
+ user_manager::UserImage(
+ *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PROFILE_PICTURE_LOADING)),
+ image_index_,
+ false);
+ }
user->SetImageURL(image_url_);
parent_->OnJobChangedUserImage();
@@ -434,7 +443,7 @@ void UserImageManagerImpl::Job::SaveImageAndUpdateLocalState() {
}
void UserImageManagerImpl::Job::OnSaveImageDone(bool success) {
- if (success || image_index_ == User::kProfileImageIndex)
+ if (success || image_index_ == user_manager::User::USER_IMAGE_PROFILE)
UpdateLocalState();
NotifyJobDone();
}
@@ -492,7 +501,7 @@ void UserImageManagerImpl::LoadUserImage() {
local_state->GetDictionary(kUserImageProperties);
if (!prefs_images && !prefs_images_unsafe)
return;
- User* user = GetUserAndModify();
+ user_manager::User* user = GetUserAndModify();
bool needs_migration = false;
// If entries are found in both |prefs_images_unsafe| and |prefs_images|,
@@ -521,7 +530,7 @@ void UserImageManagerImpl::LoadUserImage() {
return;
}
- int image_index = User::kInvalidImageIndex;
+ int image_index = user_manager::User::USER_IMAGE_INVALID;
image_properties->GetInteger(kImageIndexNodeName, &image_index);
if (image_index >= 0 && image_index < user_manager::kDefaultImagesCount) {
user->SetImage(
@@ -530,8 +539,8 @@ void UserImageManagerImpl::LoadUserImage() {
return;
}
- if (image_index != User::kExternalImageIndex &&
- image_index != User::kProfileImageIndex) {
+ if (image_index != user_manager::User::USER_IMAGE_EXTERNAL &&
+ image_index != user_manager::User::USER_IMAGE_PROFILE) {
NOTREACHED();
return;
}
@@ -543,8 +552,13 @@ void UserImageManagerImpl::LoadUserImage() {
image_properties->GetString(kImagePathNodeName, &image_path);
user->SetImageURL(image_url);
- user->SetStubImage(image_index, true);
- DCHECK(!image_path.empty() || image_index == User::kProfileImageIndex);
+ user->SetStubImage(user_manager::UserImage(
+ *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PROFILE_PICTURE_LOADING)),
+ image_index,
+ true);
+ DCHECK(!image_path.empty() ||
+ image_index == user_manager::User::USER_IMAGE_PROFILE);
if (image_path.empty() || needs_migration) {
// Return if either of the following is true:
// * The profile image is to be used but has not been downloaded yet. The
@@ -559,7 +573,7 @@ void UserImageManagerImpl::LoadUserImage() {
void UserImageManagerImpl::UserLoggedIn(bool user_is_new,
bool user_is_local) {
- const User* user = GetUser();
+ const user_manager::User* user = GetUser();
if (user_is_new) {
if (!user_is_local)
SetInitialUserImage();
@@ -636,14 +650,14 @@ void UserImageManagerImpl::SaveUserImage(
if (IsUserImageManaged())
return;
job_.reset(new Job(this));
- job_->SetToImage(User::kExternalImageIndex, user_image);
+ job_->SetToImage(user_manager::User::USER_IMAGE_EXTERNAL, user_image);
}
void UserImageManagerImpl::SaveUserImageFromFile(const base::FilePath& path) {
if (IsUserImageManaged())
return;
job_.reset(new Job(this));
- job_->SetToPath(path, User::kExternalImageIndex, GURL(), true);
+ job_->SetToPath(path, user_manager::User::USER_IMAGE_EXTERNAL, GURL(), true);
}
void UserImageManagerImpl::SaveUserImageFromProfileImage() {
@@ -652,7 +666,7 @@ void UserImageManagerImpl::SaveUserImageFromProfileImage() {
// Use the profile image if it has been downloaded already. Otherwise, use a
// stub image (gray avatar).
job_.reset(new Job(this));
- job_->SetToImage(User::kProfileImageIndex,
+ job_->SetToImage(user_manager::User::USER_IMAGE_PROFILE,
downloaded_profile_image_.isNull()
? user_manager::UserImage()
: user_manager::UserImage::CreateAndEncode(
@@ -695,7 +709,7 @@ void UserImageManagerImpl::OnExternalDataSet(const std::string& policy) {
has_managed_image_ = true;
job_.reset();
- const User* user = GetUser();
+ const user_manager::User* user = GetUser();
// If the user image for the currently logged-in user became managed, stop the
// sync observer so that the policy-set image does not get synced out.
if (user && user->is_logged_in())
@@ -800,8 +814,8 @@ void UserImageManagerImpl::OnProfileDownloadSuccess(
downloader->GetProfilePicture());
profile_image_url_ = GURL(downloader->GetProfilePictureURL());
- const User* user = GetUser();
- if (user->image_index() == User::kProfileImageIndex) {
+ const user_manager::User* user = GetUser();
+ if (user->image_index() == user_manager::User::USER_IMAGE_PROFILE) {
VLOG(1) << "Updating profile image for logged-in user.";
UMA_HISTOGRAM_ENUMERATION("UserImage.ProfileDownloadResult",
kDownloadSuccessChanged,
@@ -861,10 +875,9 @@ void UserImageManagerImpl::SetInitialUserImage() {
}
void UserImageManagerImpl::TryToInitDownloadedProfileImage() {
- const User* user = GetUser();
- if (user->image_index() == User::kProfileImageIndex &&
- downloaded_profile_image_.isNull() &&
- !user->image_is_stub()) {
+ const user_manager::User* user = GetUser();
+ if (user->image_index() == user_manager::User::USER_IMAGE_PROFILE &&
+ downloaded_profile_image_.isNull() && !user->image_is_stub()) {
// Initialize the |downloaded_profile_image_| for the currently logged-in
// user if it has not been initialized already, the user image is the
// profile image and the user image has been loaded successfully.
@@ -875,10 +888,10 @@ void UserImageManagerImpl::TryToInitDownloadedProfileImage() {
}
bool UserImageManagerImpl::NeedProfileImage() const {
- const User* user = GetUser();
+ const user_manager::User* user = GetUser();
return IsUserLoggedInAndRegular() &&
- (user->image_index() == User::kProfileImageIndex ||
- profile_image_requested_);
+ (user->image_index() == user_manager::User::USER_IMAGE_PROFILE ||
+ profile_image_requested_);
}
void UserImageManagerImpl::DownloadProfileData(const std::string& reason) {
@@ -929,7 +942,7 @@ void UserImageManagerImpl::OnJobChangedUserImage() {
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
content::Source<UserImageManagerImpl>(this),
- content::Details<const User>(GetUser()));
+ content::Details<const user_manager::User>(GetUser()));
}
void UserImageManagerImpl::OnJobDone() {
@@ -952,7 +965,7 @@ void UserImageManagerImpl::OnJobDone() {
return;
}
- int image_index = User::kInvalidImageIndex;
+ int image_index = user_manager::User::USER_IMAGE_INVALID;
image_properties->GetInteger(kImageIndexNodeName, &image_index);
UMA_HISTOGRAM_ENUMERATION("UserImage.Migration",
ImageIndexToHistogramIndex(image_index),
@@ -986,7 +999,7 @@ void UserImageManagerImpl::UpdateLocalStateAfterMigration() {
}
void UserImageManagerImpl::TryToCreateImageSyncObserver() {
- const User* user = GetUser();
+ const user_manager::User* user = GetUser();
// If the currently logged-in user's user image is managed, the sync observer
// must not be started so that the policy-set image does not get synced out.
if (!user_image_sync_observer_ &&
@@ -996,16 +1009,16 @@ void UserImageManagerImpl::TryToCreateImageSyncObserver() {
}
}
-const User* UserImageManagerImpl::GetUser() const {
+const user_manager::User* UserImageManagerImpl::GetUser() const {
return user_manager_->FindUser(user_id());
}
-User* UserImageManagerImpl::GetUserAndModify() const {
+user_manager::User* UserImageManagerImpl::GetUserAndModify() const {
return user_manager_->FindUserAndModify(user_id());
}
bool UserImageManagerImpl::IsUserLoggedInAndRegular() const {
- const User* user = GetUser();
+ const user_manager::User* user = GetUser();
if (!user)
return false;
return user->is_logged_in() &&

Powered by Google App Engine
This is Rietveld 408576698