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 c19ec638f0d378eb0eeb2325c8276c0cdaf80f4e..e1edfb1177ff7866467f0429799b5f5ad87667ac 100644 |
--- a/chrome/browser/extensions/native_bindings_apitest.cc |
+++ b/chrome/browser/extensions/native_bindings_apitest.cc |
@@ -76,10 +76,15 @@ IN_PROC_BROWSER_TEST_F(NativeBindingsApiTest, DeclarativeEvents) { |
host_resolver()->AddRule("*", "127.0.0.1"); |
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()); |
@@ -90,6 +95,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( |
@@ -97,6 +103,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); |