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