| 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 5844901e376a7d3998d6b306c2f76b9e5d0bd6a1..c402e238cf8a8fb276a76212f82ad65ee143c4ba 100644
|
| --- a/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
|
| +++ b/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
|
| @@ -19,12 +19,14 @@
|
| #include "chrome/browser/ui/browser_window.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/common/extensions/extension_action.h"
|
| +#include "chrome/common/extensions/extension_icon_factory_delegate.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/test/browser_test_utils.h"
|
| #include "grit/theme_resources.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/gfx/rect.h"
|
| #include "ui/gfx/size.h"
|
| @@ -36,8 +38,22 @@
|
| #include "ui/gfx/image/image_unittest_util.h"
|
| #endif
|
|
|
| +using content::BrowserThread;
|
| using content::WebContents;
|
| using extensions::Extension;
|
| +using ::testing::_;
|
| +
|
| +namespace {
|
| +
|
| +class MockActionIconFactory : public ExtensionIconFactoryDelegate {
|
| + public:
|
| + virtual ~MockActionIconFactory() {}
|
| +
|
| + MOCK_METHOD2(GetIcon, gfx::ImageSkia(const ExtensionIconSet* icon_set,
|
| + int desired_size));
|
| +};
|
| +
|
| +} // namespace
|
|
|
| namespace {
|
|
|
| @@ -140,17 +156,21 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| gfx::test::SetSupportedScaleFactorsTo1xAnd2x();
|
| #endif
|
|
|
| + MockActionIconFactory mock_icon_factory;
|
| + EXPECT_CALL(mock_icon_factory, GetIcon(_, _)).Times(0);
|
| +
|
| // Test that there is a browser action in the toolbar.
|
| ASSERT_EQ(1, GetBrowserActionsBar().NumberOfBrowserActions());
|
| EXPECT_TRUE(GetBrowserActionsBar().HasIcon(0));
|
|
|
| - gfx::Image action_icon = extension->browser_action()->GetIcon(0);
|
| + gfx::Image action_icon =
|
| + extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
| uint32_t action_icon_last_id = action_icon.ToSkBitmap()->getGenerationID();
|
|
|
| // Let's check that |GetIcon| doesn't always return bitmap with new id.
|
| ASSERT_EQ(action_icon_last_id,
|
| - extension->browser_action()->GetIcon(0).ToSkBitmap()->
|
| - getGenerationID());
|
| + extension->browser_action()->GetIcon(0, &mock_icon_factory).
|
| + ToSkBitmap()->getGenerationID());
|
|
|
| uint32_t action_icon_current_id = 0;
|
|
|
| @@ -160,7 +180,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID();
|
| EXPECT_GT(action_icon_current_id, action_icon_last_id);
|
| @@ -178,7 +198,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID();
|
| EXPECT_GT(action_icon_current_id, action_icon_last_id);
|
| @@ -197,7 +217,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID();
|
| EXPECT_GT(action_icon_current_id, action_icon_last_id);
|
| @@ -215,7 +235,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID();
|
| EXPECT_GT(action_icon_current_id, action_icon_last_id);
|
| @@ -234,7 +254,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID();
|
| EXPECT_GT(action_icon_current_id, action_icon_last_id);
|
| @@ -253,7 +273,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| action_icon_current_id = action_icon.ToSkBitmap()->getGenerationID();
|
| EXPECT_GT(action_icon_current_id, action_icon_last_id);
|
| @@ -272,7 +292,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
|
| GetBrowserActionsBar().Press(0);
|
| ASSERT_TRUE(catcher.GetNextResult());
|
|
|
| - action_icon = extension->browser_action()->GetIcon(0);
|
| + action_icon = extension->browser_action()->GetIcon(0, &mock_icon_factory);
|
|
|
| const gfx::ImageSkia* action_icon_skia = action_icon.ToImageSkia();
|
|
|
|
|