Index: chrome/browser/extensions/api/extension_action/extension_actions_api.cc |
diff --git a/chrome/browser/extensions/api/extension_action/extension_actions_api.cc b/chrome/browser/extensions/api/extension_action/extension_actions_api.cc |
index 3b7a2b496747281dec1cf95d8f53e664872284a6..195a623a8443959e04bbe6efe7c743a4669de452 100644 |
--- a/chrome/browser/extensions/api/extension_action/extension_actions_api.cc |
+++ b/chrome/browser/extensions/api/extension_action/extension_actions_api.cc |
@@ -27,6 +27,7 @@ |
#include "chrome/common/render_messages.h" |
#include "content/public/browser/navigation_entry.h" |
#include "content/public/browser/notification_service.h" |
+#include "ui/gfx/image/image_skia_operations.h" |
namespace { |
@@ -130,7 +131,11 @@ void SetDefaultsFromValue(const base::DictionaryValue* dict, |
icon.AddRepresentation(gfx::ImageSkiaRep(bitmap, kIconSizes[i].scale)); |
} |
} |
- action->SetIcon(kTabId, gfx::Image(icon)); |
+ |
+ gfx::ImageSkia final_icon = |
+ gfx::ImageSkiaOperations::CreateImageWithFallbackResizeMethod( |
+ icon, skia::ImageOperations::RESIZE_LANCZOS3); |
+ action->SetIcon(kTabId, gfx::Image(final_icon)); |
} |
} |
@@ -469,7 +474,10 @@ bool ExtensionActionSetIconFunction::RunExtensionAction() { |
} |
} |
- extension_action_->SetIcon(tab_id_, gfx::Image(icon)); |
+ gfx::ImageSkia final_icon = |
+ gfx::ImageSkiaOperations::CreateImageWithFallbackResizeMethod( |
+ icon, skia::ImageOperations::RESIZE_LANCZOS3); |
+ extension_action_->SetIcon(tab_id_, gfx::Image(final_icon)); |
} else if (details_->GetInteger("iconIndex", &icon_index)) { |
// Obsolete argument: ignore it. |
return true; |