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

Side by Side Diff: chrome/browser/extensions/extension_icon_image.cc

Issue 211493009: Ensure that extension resources are loaded with the correct scaling applied on Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix try server errors Created 6 years, 9 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/extensions/extension_icon_image.h" 5 #include "chrome/browser/extensions/extension_icon_image.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
11 #include "chrome/browser/extensions/image_loader.h" 11 #include "chrome/browser/extensions/image_loader.h"
12 #include "content/public/browser/notification_service.h" 12 #include "content/public/browser/notification_service.h"
13 #include "extensions/common/extension.h" 13 #include "extensions/common/extension.h"
14 #include "ui/base/resource/resource_bundle.h"
14 #include "ui/gfx/canvas.h" 15 #include "ui/gfx/canvas.h"
15 #include "ui/gfx/image/canvas_image_source.h" 16 #include "ui/gfx/image/canvas_image_source.h"
16 #include "ui/gfx/image/image.h" 17 #include "ui/gfx/image/image.h"
17 #include "ui/gfx/image/image_skia_operations.h" 18 #include "ui/gfx/image/image_skia_operations.h"
18 #include "ui/gfx/image/image_skia_source.h" 19 #include "ui/gfx/image/image_skia_source.h"
19 #include "ui/gfx/size.h" 20 #include "ui/gfx/size.h"
20 #include "ui/gfx/size_conversions.h" 21 #include "ui/gfx/size_conversions.h"
21 22
22 // The ImageSkia provided by extensions::IconImage contains ImageSkiaReps that 23 // The ImageSkia provided by extensions::IconImage contains ImageSkiaReps that
23 // are computed and updated using the following algorithm (if no default icon 24 // are computed and updated using the following algorithm (if no default icon
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 IconImage::~IconImage() { 158 IconImage::~IconImage() {
158 source_->ResetHost(); 159 source_->ResetHost();
159 } 160 }
160 161
161 gfx::ImageSkiaRep IconImage::LoadImageForScaleFactor( 162 gfx::ImageSkiaRep IconImage::LoadImageForScaleFactor(
162 ui::ScaleFactor scale_factor) { 163 ui::ScaleFactor scale_factor) {
163 // Do nothing if extension is unloaded. 164 // Do nothing if extension is unloaded.
164 if (!extension_) 165 if (!extension_)
165 return gfx::ImageSkiaRep(); 166 return gfx::ImageSkiaRep();
166 167
167 const float scale = ui::GetImageScale(scale_factor); 168 const float scale = ui::ResourceBundle::PlatformGetImageScale(scale_factor);
168 const int resource_size_in_pixel = 169 const int resource_size_in_pixel =
169 static_cast<int>(resource_size_in_dip_ * scale); 170 static_cast<int>(resource_size_in_dip_ * scale);
170 171
171 extensions::ExtensionResource resource; 172 extensions::ExtensionResource resource;
172 173
173 // Find extension resource for non bundled component extensions. 174 // Find extension resource for non bundled component extensions.
174 // We try loading bigger image only if resource size is >= 32. 175 // We try loading bigger image only if resource size is >= 32.
175 if (resource_size_in_pixel >= kMatchBiggerTreshold) { 176 if (resource_size_in_pixel >= kMatchBiggerTreshold) {
176 resource = GetExtensionIconResource(extension_, icon_set_, 177 resource = GetExtensionIconResource(extension_, icon_set_,
177 resource_size_in_pixel, ExtensionIconSet::MATCH_BIGGER); 178 resource_size_in_pixel, ExtensionIconSet::MATCH_BIGGER);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 const content::NotificationDetails& details) { 231 const content::NotificationDetails& details) {
231 DCHECK_EQ(type, chrome::NOTIFICATION_EXTENSION_REMOVED); 232 DCHECK_EQ(type, chrome::NOTIFICATION_EXTENSION_REMOVED);
232 233
233 const Extension* extension = content::Details<const Extension>(details).ptr(); 234 const Extension* extension = content::Details<const Extension>(details).ptr();
234 235
235 if (extension_ == extension) 236 if (extension_ == extension)
236 extension_ = NULL; 237 extension_ = NULL;
237 } 238 }
238 239
239 } // namespace extensions 240 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/extensions/image_loader.cc » ('j') | ui/base/resource/resource_bundle.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698