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

Unified Diff: chrome/browser/ui/ash/app_list/extension_app_item.cc

Issue 10868003: chromeos: Fix pixelated icons in app list and launcher (part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/ash/app_list/extension_app_item.cc
diff --git a/chrome/browser/ui/ash/app_list/extension_app_item.cc b/chrome/browser/ui/ash/app_list/extension_app_item.cc
index e228db51e571bd6e5b35000b31cefb885e718dd4..50ca97eb41fd50dd6479c3d66a94303cac95cfbb 100644
--- a/chrome/browser/ui/ash/app_list/extension_app_item.cc
+++ b/chrome/browser/ui/ash/app_list/extension_app_item.cc
@@ -138,14 +138,12 @@ const Extension* ExtensionAppItem::GetExtension() const {
}
void ExtensionAppItem::LoadImage(const Extension* extension) {
- tracker_.reset(new ImageLoadingTracker(this));
- tracker_->LoadImage(extension,
- extension->GetIconResource(
- extension_misc::EXTENSION_ICON_LARGE,
- ExtensionIconSet::MATCH_BIGGER),
- gfx::Size(extension_misc::EXTENSION_ICON_LARGE,
- extension_misc::EXTENSION_ICON_LARGE),
- ImageLoadingTracker::DONT_CACHE);
+ icon_.reset(new extensions::IconImage(
+ extension,
+ extension->icons(),
+ extension_misc::EXTENSION_ICON_MEDIUM,
+ this));
+ OnExtensionIconImageChanged(icon_.get());
}
void ExtensionAppItem::ShowExtensionOptions() {
@@ -166,13 +164,19 @@ void ExtensionAppItem::StartExtensionUninstall() {
uninstaller->Run();
}
-void ExtensionAppItem::OnImageLoaded(const gfx::Image& image,
- const std::string& extension_id,
- int tracker_index) {
- if (!image.IsEmpty())
- SetIcon(*image.ToImageSkia());
- else
- SetIcon(Extension::GetDefaultIcon(true /* is_app */));
+void ExtensionAppItem::OnExtensionIconImageChanged(
+ extensions::IconImage* image) {
+ DCHECK(icon_.get() == image);
+ SetIcon(image->image_skia());
+}
+
+void ExtensionAppItem::OnIconImageLoadFailed(
+ extensions::IconImage* image,
+ ui::ScaleFactor scale_factor) {
+ DCHECK(icon_.get() == image);
+
+ image->SetRepresentation(gfx::ImageSkiaRep(
+ Extension::GetDefaultIcon(true), scale_factor));
}
bool ExtensionAppItem::IsItemForCommandIdDynamic(int command_id) const {

Powered by Google App Engine
This is Rietveld 408576698