Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc

Issue 10824359: Remove ImageSkia::empty and ImageSkia::extractSubset (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 web_ui()->CallJavascriptFunction("ChangePictureOptions.setProfileImage", 278 web_ui()->CallJavascriptFunction("ChangePictureOptions.setProfileImage",
279 data_url, select); 279 data_url, select);
280 } 280 }
281 281
282 void ChangePictureOptionsHandler::UpdateProfileImage() { 282 void ChangePictureOptionsHandler::UpdateProfileImage() {
283 UserManager* user_manager = UserManager::Get(); 283 UserManager* user_manager = UserManager::Get();
284 284
285 // If we have a downloaded profile image and haven't sent it in 285 // If we have a downloaded profile image and haven't sent it in
286 // |SendSelectedImage|, send it now (without selecting). 286 // |SendSelectedImage|, send it now (without selecting).
287 if (previous_image_index_ != User::kProfileImageIndex && 287 if (previous_image_index_ != User::kProfileImageIndex &&
288 !user_manager->DownloadedProfileImage().empty()) 288 !user_manager->DownloadedProfileImage().isNull())
289 SendProfileImage(user_manager->DownloadedProfileImage(), false); 289 SendProfileImage(user_manager->DownloadedProfileImage(), false);
290 290
291 user_manager->DownloadProfileImage(kProfileDownloadReason); 291 user_manager->DownloadProfileImage(kProfileDownloadReason);
292 } 292 }
293 293
294 void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) { 294 void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) {
295 std::string image_url; 295 std::string image_url;
296 if (!args || 296 if (!args ||
297 args->GetSize() != 1 || 297 args->GetSize() != 1 ||
298 !args->GetString(0, &image_url)) { 298 !args->GetString(0, &image_url)) {
299 NOTREACHED(); 299 NOTREACHED();
300 return; 300 return;
301 } 301 }
302 DCHECK(!image_url.empty()); 302 DCHECK(!image_url.empty());
303 303
304 UserManager* user_manager = UserManager::Get(); 304 UserManager* user_manager = UserManager::Get();
305 const User& user = user_manager->GetLoggedInUser(); 305 const User& user = user_manager->GetLoggedInUser();
306 int image_index = User::kInvalidImageIndex; 306 int image_index = User::kInvalidImageIndex;
307 bool waiting_for_camera_photo = false; 307 bool waiting_for_camera_photo = false;
308 308
309 if (StartsWithASCII(image_url, chrome::kChromeUIUserImageURL, false)) { 309 if (StartsWithASCII(image_url, chrome::kChromeUIUserImageURL, false)) {
310 // Image from file/camera uses |kChromeUIUserImageURL| as URL while 310 // Image from file/camera uses |kChromeUIUserImageURL| as URL while
311 // current profile image always has a full data URL. 311 // current profile image always has a full data URL.
312 // This way transition from (current profile image) to 312 // This way transition from (current profile image) to
313 // (profile image, current image from file) is easier. 313 // (profile image, current image from file) is easier.
314 // Also, old (not available for selection any more) default images use 314 // Also, old (not available for selection any more) default images use
315 // this URL, too. 315 // this URL, too.
316 316
317 if (previous_image_index_ == User::kExternalImageIndex) { 317 if (previous_image_index_ == User::kExternalImageIndex) {
318 DCHECK(!previous_image_.empty()); 318 DCHECK(!previous_image_.isNull());
319 user_manager->SaveUserImage(user.email(), 319 user_manager->SaveUserImage(user.email(),
320 UserImage::CreateAndEncode(previous_image_)); 320 UserImage::CreateAndEncode(previous_image_));
321 } else { 321 } else {
322 DCHECK(previous_image_index_ >= 0 && 322 DCHECK(previous_image_index_ >= 0 &&
323 previous_image_index_ < kFirstDefaultImageIndex); 323 previous_image_index_ < kFirstDefaultImageIndex);
324 user_manager->SaveUserDefaultImageIndex(user.email(), 324 user_manager->SaveUserDefaultImageIndex(user.email(),
325 previous_image_index_); 325 previous_image_index_);
326 } 326 }
327 327
328 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", 328 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
329 kHistogramImageOld, 329 kHistogramImageOld,
330 kHistogramImagesCount); 330 kHistogramImagesCount);
331 VLOG(1) << "Selected old user image"; 331 VLOG(1) << "Selected old user image";
332 } else if (IsDefaultImageUrl(image_url, &image_index)) { 332 } else if (IsDefaultImageUrl(image_url, &image_index)) {
333 // One of the default user images. 333 // One of the default user images.
334 user_manager->SaveUserDefaultImageIndex(user.email(), image_index); 334 user_manager->SaveUserDefaultImageIndex(user.email(), image_index);
335 335
336 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", 336 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
337 GetDefaultImageHistogramValue(image_index), 337 GetDefaultImageHistogramValue(image_index),
338 kHistogramImagesCount); 338 kHistogramImagesCount);
339 VLOG(1) << "Selected default user image: " << image_index; 339 VLOG(1) << "Selected default user image: " << image_index;
340 } else if (image_url == user_photo_data_url_) { 340 } else if (image_url == user_photo_data_url_) {
341 // Camera image is selected. 341 // Camera image is selected.
342 if (user_photo_.empty()) { 342 if (user_photo_.isNull()) {
343 DCHECK(image_decoder_.get()); 343 DCHECK(image_decoder_.get());
344 waiting_for_camera_photo = true; 344 waiting_for_camera_photo = true;
345 VLOG(1) << "Still waiting for camera image to decode"; 345 VLOG(1) << "Still waiting for camera image to decode";
346 } else { 346 } else {
347 OnPhotoAccepted(user_photo_); 347 OnPhotoAccepted(user_photo_);
348 } 348 }
349 } else { 349 } else {
350 // Profile image selected. Could be previous (old) user image. 350 // Profile image selected. Could be previous (old) user image.
351 user_manager->SaveUserImageFromProfileImage(user.email()); 351 user_manager->SaveUserImageFromProfileImage(user.email());
352 352
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 OnPhotoAccepted(user_photo_); 441 OnPhotoAccepted(user_photo_);
442 } 442 }
443 443
444 void ChangePictureOptionsHandler::OnDecodeImageFailed( 444 void ChangePictureOptionsHandler::OnDecodeImageFailed(
445 const ImageDecoder* decoder) { 445 const ImageDecoder* decoder) {
446 NOTREACHED() << "Failed to decode PNG image from WebUI"; 446 NOTREACHED() << "Failed to decode PNG image from WebUI";
447 } 447 }
448 448
449 } // namespace options 449 } // namespace options
450 } // namespace chromeos 450 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698