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

Side by Side Diff: chrome/browser/chromeos/login/user_image_loader.cc

Issue 10820049: Load 2x resources on demand (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For preview Created 8 years, 3 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/chromeos/login/user_image_loader.h" 5 #include "chrome/browser/chromeos/login/user_image_loader.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "chrome/browser/chromeos/login/helper.h" 12 #include "chrome/browser/chromeos/login/helper.h"
13 #include "chrome/browser/chromeos/login/user_image.h" 13 #include "chrome/browser/chromeos/login/user_image.h"
14 #include "content/public/browser/browser_thread.h" 14 #include "content/public/browser/browser_thread.h"
15 #include "skia/ext/image_operations.h" 15 #include "skia/ext/image_operations.h"
16 #include "third_party/skia/include/core/SkBitmap.h" 16 #include "third_party/skia/include/core/SkBitmap.h"
17 #include "ui/gfx/codec/png_codec.h" 17 #include "ui/gfx/codec/png_codec.h"
18 #include "ui/gfx/image/image_skia.h"
18 #include "ui/gfx/skbitmap_operations.h" 19 #include "ui/gfx/skbitmap_operations.h"
19 20
20 using content::BrowserThread; 21 using content::BrowserThread;
21 22
22 namespace chromeos { 23 namespace chromeos {
23 24
24 UserImageLoader::ImageInfo::ImageInfo(int size, 25 UserImageLoader::ImageInfo::ImageInfo(int size,
25 const LoadedCallback& loaded_cb) 26 const LoadedCallback& loaded_cb)
26 : size(size), 27 : size(size),
27 loaded_cb(loaded_cb) { 28 loaded_cb(loaded_cb) {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 // Also downsize the image to save space and memory. 86 // Also downsize the image to save space and memory.
86 final_image = 87 final_image =
87 skia::ImageOperations::Resize(cropped_image, 88 skia::ImageOperations::Resize(cropped_image,
88 skia::ImageOperations::RESIZE_LANCZOS3, 89 skia::ImageOperations::RESIZE_LANCZOS3,
89 image_info.size, 90 image_info.size,
90 image_info.size); 91 image_info.size);
91 } else { 92 } else {
92 final_image = cropped_image; 93 final_image = cropped_image;
93 } 94 }
94 } 95 }
95 96 gfx::ImageSkia final_image_skia(final_image);
97 final_image_skia.SetReadOnly();
96 target_message_loop_->PostTask( 98 target_message_loop_->PostTask(
97 FROM_HERE, 99 FROM_HERE,
98 base::Bind(image_info.loaded_cb, 100 base::Bind(image_info.loaded_cb,
99 UserImage(final_image, decoder->get_image_data()))); 101 UserImage(final_image_skia, decoder->get_image_data())));
100 102
101 image_info_map_.erase(info_it); 103 image_info_map_.erase(info_it);
102 } 104 }
103 105
104 void UserImageLoader::OnDecodeImageFailed(const ImageDecoder* decoder) { 106 void UserImageLoader::OnDecodeImageFailed(const ImageDecoder* decoder) {
105 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 107 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
106 image_info_map_.erase(decoder); 108 image_info_map_.erase(decoder);
107 } 109 }
108 110
109 } // namespace chromeos 111 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698