Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / options / chromeos / change_picture_options_handler.cc
index 014c86f..5d6d774 100644 (file)
 #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"
@@ -75,8 +77,8 @@ const char kProfileDownloadReason[] = "Preferences";
 }  // 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,
@@ -165,14 +167,18 @@ void ChangePictureOptionsHandler::RegisterMessages() {
 
 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",
@@ -209,18 +215,23 @@ void ChangePictureOptionsHandler::HandleChooseFile(
 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();
@@ -262,34 +273,35 @@ void ChangePictureOptionsHandler::HandlePageHidden(
 }
 
 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_));
       }
     }
   }
@@ -305,10 +317,10 @@ void ChangePictureOptionsHandler::SendProfileImage(const gfx::ImageSkia& image,
 
 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);
 
@@ -336,28 +348,29 @@ void ChangePictureOptionsHandler::HandleSelectImage(
   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.
@@ -372,15 +385,15 @@ void ChangePictureOptionsHandler::HandleSelectImage(
     // 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 {
@@ -395,22 +408,23 @@ void ChangePictureOptionsHandler::HandleSelectImage(
 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";
 }
 
@@ -436,7 +450,7 @@ void ChangePictureOptionsHandler::Observe(
                      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();
   }
@@ -462,11 +476,11 @@ void ChangePictureOptionsHandler::OnDecodeImageFailed(
   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;
 }