#include "base/values.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/camera_presence_notifier.h"
-#include "chrome/browser/chromeos/login/default_user_images.h"
-#include "chrome/browser/chromeos/login/user_image.h"
-#include "chrome/browser/chromeos/login/user_image_manager.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
+#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/chrome_select_file_policy.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/url_constants.h"
+#include "chrome/grit/generated_resources.h"
#include "chromeos/audio/chromeos_sounds.h"
+#include "components/user_manager/user.h"
+#include "components/user_manager/user_image/default_user_images.h"
+#include "components/user_manager/user_image/user_image.h"
+#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_ui.h"
#include "content/public/common/url_constants.h"
#include "grit/browser_resources.h"
-#include "grit/generated_resources.h"
-#include "grit/theme_resources.h"
#include "net/base/data_url.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
} // namespace
ChangePictureOptionsHandler::ChangePictureOptionsHandler()
- : previous_image_url_(content::kAboutBlankURL),
- previous_image_index_(User::kInvalidImageIndex) {
+ : previous_image_url_(url::kAboutBlankURL),
+ previous_image_index_(user_manager::User::USER_IMAGE_INVALID) {
registrar_.Add(this, chrome::NOTIFICATION_PROFILE_IMAGE_UPDATED,
content::NotificationService::AllSources());
registrar_.Add(this, chrome::NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED,
void ChangePictureOptionsHandler::SendDefaultImages() {
base::ListValue image_urls;
- for (int i = kFirstDefaultImageIndex; i < kDefaultImagesCount; ++i) {
+ for (int i = user_manager::kFirstDefaultImageIndex;
+ i < user_manager::kDefaultImagesCount;
+ ++i) {
scoped_ptr<base::DictionaryValue> image_data(new base::DictionaryValue);
- image_data->SetString("url", GetDefaultImageUrl(i));
+ image_data->SetString("url", user_manager::GetDefaultImageUrl(i));
image_data->SetString(
- "author", l10n_util::GetStringUTF16(kDefaultImageAuthorIDs[i]));
+ "author",
+ l10n_util::GetStringUTF16(user_manager::kDefaultImageAuthorIDs[i]));
image_data->SetString(
- "website", l10n_util::GetStringUTF16(kDefaultImageWebsiteIDs[i]));
- image_data->SetString("title", GetDefaultImageDescription(i));
+ "website",
+ l10n_util::GetStringUTF16(user_manager::kDefaultImageWebsiteIDs[i]));
+ image_data->SetString("title", user_manager::GetDefaultImageDescription(i));
image_urls.Append(image_data.release());
}
web_ui()->CallJavascriptFunction("ChangePictureOptions.setDefaultImages",
void ChangePictureOptionsHandler::HandleTakePhoto(
const base::ListValue* args) {
DCHECK(args->empty());
+#if !defined(USE_ATHENA)
+ // crbug.com/408733
ash::PlaySystemSoundIfSpokenFeedback(SOUND_CAMERA_SNAP);
+#endif
}
void ChangePictureOptionsHandler::HandleDiscardPhoto(
const base::ListValue* args) {
DCHECK(args->empty());
+#if !defined(USE_ATHENA)
ash::PlaySystemSoundIfSpokenFeedback(SOUND_OBJECT_DELETE);
+#endif
}
void ChangePictureOptionsHandler::HandlePhotoTaken(
const base::ListValue* args) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
std::string image_url;
if (!args || args->GetSize() != 1 || !args->GetString(0, &image_url))
NOTREACHED();
}
void ChangePictureOptionsHandler::SendSelectedImage() {
- const User* user = GetUser();
+ const user_manager::User* user = GetUser();
DCHECK(!user->email().empty());
previous_image_index_ = user->image_index();
switch (previous_image_index_) {
- case User::kExternalImageIndex: {
+ case user_manager::User::USER_IMAGE_EXTERNAL: {
// User has image from camera/file, record it and add to the image list.
- previous_image_ = user->image();
+ previous_image_ = user->GetImage();
SendOldImage(webui::GetBitmapDataUrl(*previous_image_.bitmap()));
break;
}
- case User::kProfileImageIndex: {
+ case user_manager::User::USER_IMAGE_PROFILE: {
// User has his/her Profile image as the current image.
- SendProfileImage(user->image(), true);
+ SendProfileImage(user->GetImage(), true);
break;
}
default: {
DCHECK(previous_image_index_ >= 0 &&
- previous_image_index_ < kDefaultImagesCount);
- if (previous_image_index_ >= kFirstDefaultImageIndex) {
+ previous_image_index_ < user_manager::kDefaultImagesCount);
+ if (previous_image_index_ >= user_manager::kFirstDefaultImageIndex) {
// User has image from the current set of default images.
- base::StringValue image_url(GetDefaultImageUrl(previous_image_index_));
+ base::StringValue image_url(
+ user_manager::GetDefaultImageUrl(previous_image_index_));
web_ui()->CallJavascriptFunction(
"ChangePictureOptions.setSelectedImage", image_url);
} else {
// User has an old default image, so present it in the same manner as a
// previous image from file.
- SendOldImage(GetDefaultImageUrl(previous_image_index_));
+ SendOldImage(user_manager::GetDefaultImageUrl(previous_image_index_));
}
}
}
void ChangePictureOptionsHandler::UpdateProfileImage() {
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(GetUser()->email());
+ ChromeUserManager::Get()->GetUserImageManager(GetUser()->email());
// If we have a downloaded profile image and haven't sent it in
// |SendSelectedImage|, send it now (without selecting).
- if (previous_image_index_ != User::kProfileImageIndex &&
+ if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE &&
!user_image_manager->DownloadedProfileImage().isNull())
SendProfileImage(user_image_manager->DownloadedProfileImage(), false);
DCHECK(!image_type.empty());
UserImageManager* user_image_manager =
- UserManager::Get()->GetUserImageManager(GetUser()->email());
- int image_index = User::kInvalidImageIndex;
+ ChromeUserManager::Get()->GetUserImageManager(GetUser()->email());
+ int image_index = user_manager::User::USER_IMAGE_INVALID;
bool waiting_for_camera_photo = false;
if (image_type == "old") {
// Previous image (from camera or manually uploaded) re-selected.
DCHECK(!previous_image_.isNull());
user_image_manager->SaveUserImage(
- UserImage::CreateAndEncode(previous_image_));
+ user_manager::UserImage::CreateAndEncode(previous_image_));
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
- kHistogramImageOld,
- kHistogramImagesCount);
+ user_manager::kHistogramImageOld,
+ user_manager::kHistogramImagesCount);
VLOG(1) << "Selected old user image";
} else if (image_type == "default" &&
- IsDefaultImageUrl(image_url, &image_index)) {
+ user_manager::IsDefaultImageUrl(image_url, &image_index)) {
// One of the default user images.
user_image_manager->SaveUserDefaultImageIndex(image_index);
- UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
- GetDefaultImageHistogramValue(image_index),
- kHistogramImagesCount);
+ UMA_HISTOGRAM_ENUMERATION(
+ "UserImage.ChangeChoice",
+ user_manager::GetDefaultImageHistogramValue(image_index),
+ user_manager::kHistogramImagesCount);
VLOG(1) << "Selected default user image: " << image_index;
} else if (image_type == "camera") {
// Camera image is selected.
// Profile image selected. Could be previous (old) user image.
user_image_manager->SaveUserImageFromProfileImage();
- if (previous_image_index_ == User::kProfileImageIndex) {
+ if (previous_image_index_ == user_manager::User::USER_IMAGE_PROFILE) {
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
- kHistogramImageOld,
- kHistogramImagesCount);
+ user_manager::kHistogramImageOld,
+ user_manager::kHistogramImagesCount);
VLOG(1) << "Selected old (profile) user image";
} else {
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
- kHistogramImageFromProfile,
- kHistogramImagesCount);
+ user_manager::kHistogramImageFromProfile,
+ user_manager::kHistogramImagesCount);
VLOG(1) << "Selected profile image";
}
} else {
void ChangePictureOptionsHandler::FileSelected(const base::FilePath& path,
int index,
void* params) {
- UserManager* user_manager = UserManager::Get();
- user_manager->GetUserImageManager(GetUser()->email())->
- SaveUserImageFromFile(path);
- UMA_HISTOGRAM_ENUMERATION(
- "UserImage.ChangeChoice", kHistogramImageFromFile, kHistogramImagesCount);
+ ChromeUserManager::Get()
+ ->GetUserImageManager(GetUser()->email())
+ ->SaveUserImageFromFile(path);
+ UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
+ user_manager::kHistogramImageFromFile,
+ user_manager::kHistogramImagesCount);
VLOG(1) << "Selected image from file";
}
void ChangePictureOptionsHandler::SetImageFromCamera(
const gfx::ImageSkia& photo) {
- UserManager* user_manager = UserManager::Get();
- user_manager->GetUserImageManager(GetUser()->email())->SaveUserImage(
- UserImage::CreateAndEncode(photo));
+ ChromeUserManager::Get()
+ ->GetUserImageManager(GetUser()->email())
+ ->SaveUserImage(user_manager::UserImage::CreateAndEncode(photo));
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
- kHistogramImageFromCamera,
- kHistogramImagesCount);
+ user_manager::kHistogramImageFromCamera,
+ user_manager::kHistogramImagesCount);
VLOG(1) << "Selected camera photo";
}
false);
} else if (type == chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED) {
// Not initialized yet.
- if (previous_image_index_ == User::kInvalidImageIndex)
+ if (previous_image_index_ == user_manager::User::USER_IMAGE_INVALID)
return;
SendSelectedImage();
}
NOTREACHED() << "Failed to decode PNG image from WebUI";
}
-User* ChangePictureOptionsHandler::GetUser() const {
+user_manager::User* ChangePictureOptionsHandler::GetUser() const {
Profile* profile = Profile::FromWebUI(web_ui());
- User* user = UserManager::Get()->GetUserByProfile(profile);
+ user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile);
if (!user)
- return UserManager::Get()->GetActiveUser();
+ return user_manager::UserManager::Get()->GetActiveUser();
return user;
}