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 |