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 |