Index: chrome/browser/extensions/api/extension_action/browser_action_apitest.cc |
diff --git a/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc b/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc |
index 181f39e84a5a93877bb0d0a54e1bdbd2ef6a3211..bc91c49b0caaecb763e18d6ae78eec67ea0034b9 100644 |
--- a/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc |
+++ b/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc |
@@ -30,6 +30,7 @@ |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/gfx/rect.h" |
#include "ui/gfx/size.h" |
+#include "ui/gfx/size_conversions.h" |
#include "ui/gfx/image/image_skia.h" |
#include "ui/gfx/image/image_skia_operations.h" |
#include "ui/gfx/skia_util.h" |
@@ -169,9 +170,6 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_FALSE( |
- action_icon.ToImageSkia()->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
EXPECT_TRUE(ImagesAreEqualAtScale( |
AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
@@ -187,9 +185,6 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_FALSE( |
- action_icon.ToImageSkia()->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
EXPECT_TRUE(ImagesAreEqualAtScale( |
AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
@@ -206,9 +201,6 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_TRUE( |
- action_icon.ToImageSkia()->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
EXPECT_TRUE(ImagesAreEqualAtScale( |
AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
@@ -224,9 +216,6 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_TRUE( |
- action_icon.ToImageSkia()->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
EXPECT_TRUE(ImagesAreEqualAtScale( |
AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
@@ -243,14 +232,24 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_FALSE( |
- action_icon.ToImageSkia()->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
EXPECT_TRUE(ImagesAreEqualAtScale( |
AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
ui::SCALE_FACTOR_100P)); |
+ const float scale = ui::GetScaleFactorScale(ui::SCALE_FACTOR_200P); |
+ const gfx::Size scaled_up_pixel_size = gfx::ToFlooredSize( |
+ action_icon.ToImageSkia()->size().Scale(scale)); |
+ |
+ SkBitmap action_icon_scaled_up = skia::ImageOperations::Resize( |
+ *action_icon.ToSkBitmap(), skia::ImageOperations::RESIZE_LANCZOS3, |
+ scaled_up_pixel_size.width(), scaled_up_pixel_size.height()); |
+ |
+ const gfx::ImageSkia* action_icon_skia = action_icon.ToImageSkia(); |
+ EXPECT_TRUE(gfx::BitmapsAreEqual( |
+ action_icon_scaled_up, |
+ action_icon_skia->GetRepresentation(ui::SCALE_FACTOR_200P).sk_bitmap())); |
+ |
// Tell the extension to update the icon using dictionary of paths, but |
// setting only size 19. |
GetBrowserActionsBar().Press(0); |
@@ -262,9 +261,6 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_FALSE( |
- action_icon.ToImageSkia()->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
EXPECT_TRUE(ImagesAreEqualAtScale( |
AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
@@ -277,23 +273,21 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { |
action_icon = icon_factory.GetIcon(0); |
- const gfx::ImageSkia* action_icon_skia = action_icon.ToImageSkia(); |
- |
- EXPECT_FALSE(action_icon_skia->HasRepresentation(ui::SCALE_FACTOR_100P)); |
- EXPECT_TRUE(action_icon_skia->HasRepresentation(ui::SCALE_FACTOR_200P)); |
- |
action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID(); |
EXPECT_GT(action_icon_current_id, action_icon_last_id); |
action_icon_last_id = action_icon_current_id; |
- EXPECT_TRUE(gfx::BitmapsAreEqual( |
- *action_icon.ToSkBitmap(), |
- action_icon_skia->GetRepresentation(ui::SCALE_FACTOR_200P).sk_bitmap())); |
+ EXPECT_TRUE(ImagesAreEqualAtScale( |
+ AddBackgroundForViews(*action_icon.ToImageSkia()), |
+ *GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
+ ui::SCALE_FACTOR_100P)); |
+#if !defined(TOOLKIT_GTK) |
EXPECT_TRUE(ImagesAreEqualAtScale( |
- AddBackgroundForViews(*action_icon_skia), |
+ AddBackgroundForViews(*action_icon.ToImageSkia()), |
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), |
ui::SCALE_FACTOR_200P)); |
+#endif |
// Try setting icon with empty dictionary of ImageData objects. |
GetBrowserActionsBar().Press(0); |