| OLD | NEW | 
|    1 // Copyright 2015 The Chromium Authors. All rights reserved. |    1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h" |    5 #include "chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h" | 
|    6  |    6  | 
|    7 #include <utility> |    7 #include <utility> | 
|    8  |    8  | 
|    9 #include "base/bind.h" |    9 #include "base/bind.h" | 
|   10 #include "base/bind_helpers.h" |   10 #include "base/bind_helpers.h" | 
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  289   bool waiting_for_camera_photo = false; |  289   bool waiting_for_camera_photo = false; | 
|  290  |  290  | 
|  291   if (image_type == "old") { |  291   if (image_type == "old") { | 
|  292     // Previous image (from camera or manually uploaded) re-selected. |  292     // Previous image (from camera or manually uploaded) re-selected. | 
|  293     DCHECK(!previous_image_.isNull()); |  293     DCHECK(!previous_image_.isNull()); | 
|  294     user_image_manager->SaveUserImage( |  294     user_image_manager->SaveUserImage( | 
|  295         user_manager::UserImage::CreateAndEncode( |  295         user_manager::UserImage::CreateAndEncode( | 
|  296             previous_image_, |  296             previous_image_, | 
|  297             user_manager::UserImage::FORMAT_JPEG)); |  297             user_manager::UserImage::FORMAT_JPEG)); | 
|  298  |  298  | 
|  299     UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", |  299     UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", | 
|  300                               default_user_image::kHistogramImageOld, |  300                                default_user_image::kHistogramImageOld, | 
|  301                               default_user_image::kHistogramImagesCount); |  301                                default_user_image::kHistogramImagesCount); | 
|  302     VLOG(1) << "Selected old user image"; |  302     VLOG(1) << "Selected old user image"; | 
|  303   } else if (image_type == "default" && |  303   } else if (image_type == "default" && | 
|  304              default_user_image::IsDefaultImageUrl(image_url, &image_index)) { |  304              default_user_image::IsDefaultImageUrl(image_url, &image_index)) { | 
|  305     // One of the default user images. |  305     // One of the default user images. | 
|  306     user_image_manager->SaveUserDefaultImageIndex(image_index); |  306     user_image_manager->SaveUserDefaultImageIndex(image_index); | 
|  307  |  307  | 
|  308     UMA_HISTOGRAM_ENUMERATION( |  308     UMA_HISTOGRAM_EXACT_LINEAR( | 
|  309         "UserImage.ChangeChoice", |  309         "UserImage.ChangeChoice", | 
|  310         default_user_image::GetDefaultImageHistogramValue(image_index), |  310         default_user_image::GetDefaultImageHistogramValue(image_index), | 
|  311         default_user_image::kHistogramImagesCount); |  311         default_user_image::kHistogramImagesCount); | 
|  312     VLOG(1) << "Selected default user image: " << image_index; |  312     VLOG(1) << "Selected default user image: " << image_index; | 
|  313   } else if (image_type == "camera") { |  313   } else if (image_type == "camera") { | 
|  314     // Camera image is selected. |  314     // Camera image is selected. | 
|  315     if (user_photo_.isNull()) { |  315     if (user_photo_.isNull()) { | 
|  316       waiting_for_camera_photo = true; |  316       waiting_for_camera_photo = true; | 
|  317       VLOG(1) << "Still waiting for camera image to decode"; |  317       VLOG(1) << "Still waiting for camera image to decode"; | 
|  318     } else { |  318     } else { | 
|  319       SetImageFromCamera(user_photo_); |  319       SetImageFromCamera(user_photo_); | 
|  320     } |  320     } | 
|  321   } else if (image_type == "profile") { |  321   } else if (image_type == "profile") { | 
|  322     // Profile image selected. Could be previous (old) user image. |  322     // Profile image selected. Could be previous (old) user image. | 
|  323     user_image_manager->SaveUserImageFromProfileImage(); |  323     user_image_manager->SaveUserImageFromProfileImage(); | 
|  324  |  324  | 
|  325     if (previous_image_index_ == user_manager::User::USER_IMAGE_PROFILE) { |  325     if (previous_image_index_ == user_manager::User::USER_IMAGE_PROFILE) { | 
|  326       UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", |  326       UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", | 
|  327                                 default_user_image::kHistogramImageOld, |  327                                  default_user_image::kHistogramImageOld, | 
|  328                                 default_user_image::kHistogramImagesCount); |  328                                  default_user_image::kHistogramImagesCount); | 
|  329       VLOG(1) << "Selected old (profile) user image"; |  329       VLOG(1) << "Selected old (profile) user image"; | 
|  330     } else { |  330     } else { | 
|  331       UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", |  331       UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", | 
|  332                                 default_user_image::kHistogramImageFromProfile, |  332                                  default_user_image::kHistogramImageFromProfile, | 
|  333                                 default_user_image::kHistogramImagesCount); |  333                                  default_user_image::kHistogramImagesCount); | 
|  334       VLOG(1) << "Selected profile image"; |  334       VLOG(1) << "Selected profile image"; | 
|  335     } |  335     } | 
|  336   } else { |  336   } else { | 
|  337     NOTREACHED() << "Unexpected image type: " << image_type; |  337     NOTREACHED() << "Unexpected image type: " << image_type; | 
|  338   } |  338   } | 
|  339  |  339  | 
|  340   // Ignore the result of the previous decoding if it's no longer needed. |  340   // Ignore the result of the previous decoding if it's no longer needed. | 
|  341   if (!waiting_for_camera_photo) |  341   if (!waiting_for_camera_photo) | 
|  342     ImageDecoder::Cancel(this); |  342     ImageDecoder::Cancel(this); | 
|  343 } |  343 } | 
|  344  |  344  | 
|  345 void ChangePictureHandler::FileSelected(const base::FilePath& path, |  345 void ChangePictureHandler::FileSelected(const base::FilePath& path, | 
|  346                                         int index, |  346                                         int index, | 
|  347                                         void* params) { |  347                                         void* params) { | 
|  348   ChromeUserManager::Get() |  348   ChromeUserManager::Get() | 
|  349       ->GetUserImageManager(GetUser()->GetAccountId()) |  349       ->GetUserImageManager(GetUser()->GetAccountId()) | 
|  350       ->SaveUserImageFromFile(path); |  350       ->SaveUserImageFromFile(path); | 
|  351   UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", |  351   UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", | 
|  352                             default_user_image::kHistogramImageFromFile, |  352                              default_user_image::kHistogramImageFromFile, | 
|  353                             default_user_image::kHistogramImagesCount); |  353                              default_user_image::kHistogramImagesCount); | 
|  354   VLOG(1) << "Selected image from file"; |  354   VLOG(1) << "Selected image from file"; | 
|  355 } |  355 } | 
|  356  |  356  | 
|  357 void ChangePictureHandler::SetImageFromCamera(const gfx::ImageSkia& photo) { |  357 void ChangePictureHandler::SetImageFromCamera(const gfx::ImageSkia& photo) { | 
|  358   ChromeUserManager::Get() |  358   ChromeUserManager::Get() | 
|  359       ->GetUserImageManager(GetUser()->GetAccountId()) |  359       ->GetUserImageManager(GetUser()->GetAccountId()) | 
|  360       ->SaveUserImage(user_manager::UserImage::CreateAndEncode( |  360       ->SaveUserImage(user_manager::UserImage::CreateAndEncode( | 
|  361           photo, user_manager::UserImage::FORMAT_JPEG)); |  361           photo, user_manager::UserImage::FORMAT_JPEG)); | 
|  362   UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", |  362   UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", | 
|  363                             default_user_image::kHistogramImageFromCamera, |  363                              default_user_image::kHistogramImageFromCamera, | 
|  364                             default_user_image::kHistogramImagesCount); |  364                              default_user_image::kHistogramImagesCount); | 
|  365   VLOG(1) << "Selected camera photo"; |  365   VLOG(1) << "Selected camera photo"; | 
|  366 } |  366 } | 
|  367  |  367  | 
|  368 void ChangePictureHandler::SetCameraPresent(bool present) { |  368 void ChangePictureHandler::SetCameraPresent(bool present) { | 
|  369   CallJavascriptFunction("cr.webUIListenerCallback", |  369   CallJavascriptFunction("cr.webUIListenerCallback", | 
|  370                          base::Value("camera-presence-changed"), |  370                          base::Value("camera-presence-changed"), | 
|  371                          base::Value(present)); |  371                          base::Value(present)); | 
|  372 } |  372 } | 
|  373  |  373  | 
|  374 void ChangePictureHandler::OnCameraPresenceCheckDone(bool is_camera_present) { |  374 void ChangePictureHandler::OnCameraPresenceCheckDone(bool is_camera_present) { | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  408   Profile* profile = Profile::FromWebUI(web_ui()); |  408   Profile* profile = Profile::FromWebUI(web_ui()); | 
|  409   const user_manager::User* user = |  409   const user_manager::User* user = | 
|  410       ProfileHelper::Get()->GetUserByProfile(profile); |  410       ProfileHelper::Get()->GetUserByProfile(profile); | 
|  411   if (!user) |  411   if (!user) | 
|  412     return user_manager::UserManager::Get()->GetActiveUser(); |  412     return user_manager::UserManager::Get()->GetActiveUser(); | 
|  413   return user; |  413   return user; | 
|  414 } |  414 } | 
|  415  |  415  | 
|  416 }  // namespace settings |  416 }  // namespace settings | 
|  417 }  // namespace chromeos |  417 }  // namespace chromeos | 
| OLD | NEW |