| 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);
|
|
|