summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/browser_action_apitest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-20 05:16:54 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-20 05:16:54 +0000
commitbf28f5f87c717257ef566e4f7a22d116d088f59e (patch)
treeb6a1cb91e83a23973187116c3aaec3041af27538 /chrome/browser/extensions/browser_action_apitest.cc
parentdd3e02abd586bcb898a557713b2636e0f4999990 (diff)
downloadchromium_src-bf28f5f87c717257ef566e4f7a22d116d088f59e.zip
chromium_src-bf28f5f87c717257ef566e4f7a22d116d088f59e.tar.gz
chromium_src-bf28f5f87c717257ef566e4f7a22d116d088f59e.tar.bz2
Implement chrome.browserAction.setIcon({path:...});
BUG=22575 Review URL: http://codereview.chromium.org/269103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29495 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/browser_action_apitest.cc')
-rw-r--r--chrome/browser/extensions/browser_action_apitest.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/chrome/browser/extensions/browser_action_apitest.cc b/chrome/browser/extensions/browser_action_apitest.cc
index e5a4650..13b73d8 100644
--- a/chrome/browser/extensions/browser_action_apitest.cc
+++ b/chrome/browser/extensions/browser_action_apitest.cc
@@ -65,13 +65,15 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, BrowserAction) {
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, DynamicBrowserAction) {
ASSERT_TRUE(RunExtensionTest("browser_action_no_icon")) << message_;
- // Test that there is a browser action in the toolbar.
+ // Test that there is a browser action in the toolbar and that it has no icon.
BrowserActionsContainer* browser_actions =
browser()->window()->GetBrowserWindowTesting()->GetToolbarView()->
browser_actions();
ASSERT_EQ(1, browser_actions->num_browser_actions());
+ ASSERT_TRUE(browser_actions->GetBrowserActionViewAt(0)->button()->icon()
+ .empty());
- // Tell the extension to update the browser action state.
+ // Tell the extension to update the icon using setIcon({imageData:...}).
ResultCatcher catcher;
ExtensionsService* service = browser()->profile()->GetExtensionsService();
Extension* extension = service->extensions()->at(0);
@@ -80,8 +82,19 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, DynamicBrowserAction) {
ASSERT_TRUE(catcher.GetNextResult());
// Test that we received the changes.
- ExtensionActionState* action_state = extension->browser_action_state();
- ASSERT_TRUE(action_state->icon());
+ ASSERT_FALSE(browser_actions->GetBrowserActionViewAt(0)->button()->icon()
+ .empty());
+
+ // Tell the extension to update using setIcon({path:...});
+ ui_test_utils::NavigateToURL(browser(),
+ GURL(extension->GetResourceURL("update2.html")));
+ ASSERT_TRUE(catcher.GetNextResult());
+
+ // Test that we received the changes.
+ ASSERT_FALSE(browser_actions->GetBrowserActionViewAt(0)->button()->icon()
+ .empty());
+
+ // TODO(aa): Would be nice here to actually compare that the pixels change.
}
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, BrowserActionPopup) {