| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/options/chromeos/change_picture_options_handle
r.h" | 5 #include "chrome/browser/ui/webui/options/chromeos/change_picture_options_handle
r.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 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 int image_index = user_manager::User::USER_IMAGE_INVALID; | 345 int image_index = user_manager::User::USER_IMAGE_INVALID; |
| 346 bool waiting_for_camera_photo = false; | 346 bool waiting_for_camera_photo = false; |
| 347 | 347 |
| 348 if (image_type == "old") { | 348 if (image_type == "old") { |
| 349 // Previous image (from camera or manually uploaded) re-selected. | 349 // Previous image (from camera or manually uploaded) re-selected. |
| 350 DCHECK(!previous_image_.isNull()); | 350 DCHECK(!previous_image_.isNull()); |
| 351 user_image_manager->SaveUserImage( | 351 user_image_manager->SaveUserImage( |
| 352 user_manager::UserImage::CreateAndEncode( | 352 user_manager::UserImage::CreateAndEncode( |
| 353 previous_image_, user_manager::UserImage::FORMAT_JPEG)); | 353 previous_image_, user_manager::UserImage::FORMAT_JPEG)); |
| 354 | 354 |
| 355 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", | 355 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", |
| 356 default_user_image::kHistogramImageOld, | 356 default_user_image::kHistogramImageOld, |
| 357 default_user_image::kHistogramImagesCount); | 357 default_user_image::kHistogramImagesCount); |
| 358 VLOG(1) << "Selected old user image"; | 358 VLOG(1) << "Selected old user image"; |
| 359 } else if (image_type == "default" && | 359 } else if (image_type == "default" && |
| 360 default_user_image::IsDefaultImageUrl(image_url, &image_index)) { | 360 default_user_image::IsDefaultImageUrl(image_url, &image_index)) { |
| 361 // One of the default user images. | 361 // One of the default user images. |
| 362 user_image_manager->SaveUserDefaultImageIndex(image_index); | 362 user_image_manager->SaveUserDefaultImageIndex(image_index); |
| 363 | 363 |
| 364 UMA_HISTOGRAM_ENUMERATION( | 364 UMA_HISTOGRAM_EXACT_LINEAR( |
| 365 "UserImage.ChangeChoice", | 365 "UserImage.ChangeChoice", |
| 366 default_user_image::GetDefaultImageHistogramValue(image_index), | 366 default_user_image::GetDefaultImageHistogramValue(image_index), |
| 367 default_user_image::kHistogramImagesCount); | 367 default_user_image::kHistogramImagesCount); |
| 368 VLOG(1) << "Selected default user image: " << image_index; | 368 VLOG(1) << "Selected default user image: " << image_index; |
| 369 } else if (image_type == "camera") { | 369 } else if (image_type == "camera") { |
| 370 // Camera image is selected. | 370 // Camera image is selected. |
| 371 if (user_photo_.isNull()) { | 371 if (user_photo_.isNull()) { |
| 372 waiting_for_camera_photo = true; | 372 waiting_for_camera_photo = true; |
| 373 VLOG(1) << "Still waiting for camera image to decode"; | 373 VLOG(1) << "Still waiting for camera image to decode"; |
| 374 } else { | 374 } else { |
| 375 SetImageFromCamera(user_photo_); | 375 SetImageFromCamera(user_photo_); |
| 376 } | 376 } |
| 377 } else if (image_type == "profile") { | 377 } else if (image_type == "profile") { |
| 378 // Profile image selected. Could be previous (old) user image. | 378 // Profile image selected. Could be previous (old) user image. |
| 379 user_image_manager->SaveUserImageFromProfileImage(); | 379 user_image_manager->SaveUserImageFromProfileImage(); |
| 380 | 380 |
| 381 if (previous_image_index_ == user_manager::User::USER_IMAGE_PROFILE) { | 381 if (previous_image_index_ == user_manager::User::USER_IMAGE_PROFILE) { |
| 382 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", | 382 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", |
| 383 default_user_image::kHistogramImageOld, | 383 default_user_image::kHistogramImageOld, |
| 384 default_user_image::kHistogramImagesCount); | 384 default_user_image::kHistogramImagesCount); |
| 385 VLOG(1) << "Selected old (profile) user image"; | 385 VLOG(1) << "Selected old (profile) user image"; |
| 386 } else { | 386 } else { |
| 387 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", | 387 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", |
| 388 default_user_image::kHistogramImageFromProfile, | 388 default_user_image::kHistogramImageFromProfile, |
| 389 default_user_image::kHistogramImagesCount); | 389 default_user_image::kHistogramImagesCount); |
| 390 VLOG(1) << "Selected profile image"; | 390 VLOG(1) << "Selected profile image"; |
| 391 } | 391 } |
| 392 } else { | 392 } else { |
| 393 NOTREACHED() << "Unexpected image type: " << image_type; | 393 NOTREACHED() << "Unexpected image type: " << image_type; |
| 394 } | 394 } |
| 395 | 395 |
| 396 // Ignore the result of the previous decoding if it's no longer needed. | 396 // Ignore the result of the previous decoding if it's no longer needed. |
| 397 if (!waiting_for_camera_photo) | 397 if (!waiting_for_camera_photo) |
| 398 ImageDecoder::Cancel(this); | 398 ImageDecoder::Cancel(this); |
| 399 } | 399 } |
| 400 | 400 |
| 401 void ChangePictureOptionsHandler::FileSelected(const base::FilePath& path, | 401 void ChangePictureOptionsHandler::FileSelected(const base::FilePath& path, |
| 402 int index, | 402 int index, |
| 403 void* params) { | 403 void* params) { |
| 404 ChromeUserManager::Get() | 404 ChromeUserManager::Get() |
| 405 ->GetUserImageManager(GetUser()->GetAccountId()) | 405 ->GetUserImageManager(GetUser()->GetAccountId()) |
| 406 ->SaveUserImageFromFile(path); | 406 ->SaveUserImageFromFile(path); |
| 407 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", | 407 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", |
| 408 default_user_image::kHistogramImageFromFile, | 408 default_user_image::kHistogramImageFromFile, |
| 409 default_user_image::kHistogramImagesCount); | 409 default_user_image::kHistogramImagesCount); |
| 410 VLOG(1) << "Selected image from file"; | 410 VLOG(1) << "Selected image from file"; |
| 411 } | 411 } |
| 412 | 412 |
| 413 void ChangePictureOptionsHandler::SetImageFromCamera( | 413 void ChangePictureOptionsHandler::SetImageFromCamera( |
| 414 const gfx::ImageSkia& photo) { | 414 const gfx::ImageSkia& photo) { |
| 415 ChromeUserManager::Get() | 415 ChromeUserManager::Get() |
| 416 ->GetUserImageManager(GetUser()->GetAccountId()) | 416 ->GetUserImageManager(GetUser()->GetAccountId()) |
| 417 ->SaveUserImage(user_manager::UserImage::CreateAndEncode( | 417 ->SaveUserImage(user_manager::UserImage::CreateAndEncode( |
| 418 photo, user_manager::UserImage::FORMAT_JPEG)); | 418 photo, user_manager::UserImage::FORMAT_JPEG)); |
| 419 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", | 419 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", |
| 420 default_user_image::kHistogramImageFromCamera, | 420 default_user_image::kHistogramImageFromCamera, |
| 421 default_user_image::kHistogramImagesCount); | 421 default_user_image::kHistogramImagesCount); |
| 422 VLOG(1) << "Selected camera photo"; | 422 VLOG(1) << "Selected camera photo"; |
| 423 } | 423 } |
| 424 | 424 |
| 425 void ChangePictureOptionsHandler::SetCameraPresent(bool present) { | 425 void ChangePictureOptionsHandler::SetCameraPresent(bool present) { |
| 426 base::Value present_value(present); | 426 base::Value present_value(present); |
| 427 | 427 |
| 428 web_ui()->CallJavascriptFunctionUnsafe( | 428 web_ui()->CallJavascriptFunctionUnsafe( |
| 429 "ChangePictureOptions.setCameraPresent", present_value); | 429 "ChangePictureOptions.setCameraPresent", present_value); |
| 430 } | 430 } |
| 431 | 431 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 Profile* profile = Profile::FromWebUI(web_ui()); | 469 Profile* profile = Profile::FromWebUI(web_ui()); |
| 470 const user_manager::User* user = | 470 const user_manager::User* user = |
| 471 ProfileHelper::Get()->GetUserByProfile(profile); | 471 ProfileHelper::Get()->GetUserByProfile(profile); |
| 472 if (!user) | 472 if (!user) |
| 473 return user_manager::UserManager::Get()->GetActiveUser(); | 473 return user_manager::UserManager::Get()->GetActiveUser(); |
| 474 return user; | 474 return user; |
| 475 } | 475 } |
| 476 | 476 |
| 477 } // namespace options | 477 } // namespace options |
| 478 } // namespace chromeos | 478 } // namespace chromeos |
| OLD | NEW |