Index: chrome/browser/extensions/native_bindings_apitest.cc |
diff --git a/chrome/browser/extensions/native_bindings_apitest.cc b/chrome/browser/extensions/native_bindings_apitest.cc |
index c3b9aa342405d7eb8868d0850cdeb8f144b1b5e9..9508c4c3b9d2b61015a816e44a59de66647e561e 100644 |
--- a/chrome/browser/extensions/native_bindings_apitest.cc |
+++ b/chrome/browser/extensions/native_bindings_apitest.cc |
@@ -79,10 +79,15 @@ IN_PROC_BROWSER_TEST_F(NativeBindingsApiTest, SimpleAppTest) { |
IN_PROC_BROWSER_TEST_F(NativeBindingsApiTest, DeclarativeEvents) { |
embedded_test_server()->ServeFilesFromDirectory(test_data_dir_); |
ASSERT_TRUE(StartEmbeddedTestServer()); |
- // Load an extension and wait for it to be ready. |
+ // Load an extension. On load, this extension will a) run a few simple tests |
+ // using chrome.test.runTests() and b) set up rules for declarative events for |
+ // a browser-driven test. Wait for both the tests to finish and the extension |
+ // to be ready. |
ExtensionTestMessageListener listener("ready", false); |
+ ResultCatcher catcher; |
const Extension* extension = LoadExtension( |
test_data_dir_.AppendASCII("native_bindings/declarative_content")); |
+ ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
ASSERT_TRUE(extension); |
ASSERT_TRUE(listener.WaitUntilSatisfied()); |
@@ -93,6 +98,7 @@ IN_PROC_BROWSER_TEST_F(NativeBindingsApiTest, DeclarativeEvents) { |
browser()->tab_strip_model()->GetActiveWebContents(); |
int tab_id = SessionTabHelper::IdForTab(web_contents); |
EXPECT_FALSE(page_action->GetIsVisible(tab_id)); |
+ EXPECT_TRUE(page_action->GetDeclarativeIcon(tab_id).IsEmpty()); |
// Navigating to example.com should show the page action. |
ui_test_utils::NavigateToURL( |
@@ -100,6 +106,7 @@ IN_PROC_BROWSER_TEST_F(NativeBindingsApiTest, DeclarativeEvents) { |
"example.com", "/native_bindings/simple.html")); |
base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(page_action->GetIsVisible(tab_id)); |
+ EXPECT_FALSE(page_action->GetDeclarativeIcon(tab_id).IsEmpty()); |
// And the extension should be notified of the click. |
ExtensionTestMessageListener clicked_listener("clicked and removed", false); |