Index: chrome/browser/extensions/extension_browsertests_misc.cc |
diff --git a/chrome/browser/extensions/extension_browsertests_misc.cc b/chrome/browser/extensions/extension_browsertests_misc.cc |
index c3770b0b8405494fea74b067405065bf3e57e1c4..1384998f76dbec29f9825955e65bbb9927ff383c 100644 |
--- a/chrome/browser/extensions/extension_browsertests_misc.cc |
+++ b/chrome/browser/extensions/extension_browsertests_misc.cc |
@@ -48,11 +48,12 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, Toolstrip) { |
AppendASCII("1.0.0.0"); |
ASSERT_TRUE(LoadExtension(extension_test_data_dir)); |
- // At this point, there should be two ExtensionHosts loaded because this |
- // extension has two toolstrips. Find the one that is hosting toolstrip1.html. |
+ // At this point, there should be three ExtensionHosts loaded because this |
+ // extension has two toolstrips and one background page. Find the one that is |
+ // hosting toolstrip1.html. |
ExtensionProcessManager* manager = |
browser()->profile()->GetExtensionProcessManager(); |
- ExtensionHost* host = FindHostWithPath(manager, "/toolstrip1.html", 2); |
+ ExtensionHost* host = FindHostWithPath(manager, "/toolstrip1.html", 3); |
// Tell it to run some JavaScript that tests that basic extension code works. |
bool result = false; |
@@ -77,6 +78,45 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, Toolstrip) { |
#endif |
} |
+IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ExtensionViews) { |
+ FilePath extension_test_data_dir = test_data_dir_.AppendASCII("good"). |
+ AppendASCII("Extensions").AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj"). |
+ AppendASCII("1.0.0.0"); |
+ ASSERT_TRUE(LoadExtension(extension_test_data_dir)); |
+ |
+ // At this point, there should be three ExtensionHosts loaded because this |
+ // extension has two toolstrips and one background page. Find the one that is |
+ // hosting toolstrip1.html. |
+ ExtensionProcessManager* manager = |
+ browser()->profile()->GetExtensionProcessManager(); |
+ ExtensionHost* host = FindHostWithPath(manager, "/toolstrip1.html", 3); |
+ |
+ FilePath gettabs_url = extension_test_data_dir.AppendASCII( |
+ "test_gettabs.html"); |
+ ui_test_utils::NavigateToURL( |
+ browser(), |
+ GURL(gettabs_url.ToWStringHack())); |
+ |
+ bool result = false; |
+ ui_test_utils::ExecuteJavaScriptAndExtractBool( |
+ host->render_view_host(), L"", L"testgetToolstripsAPI()", &result); |
+ EXPECT_TRUE(result); |
+ |
+ result = false; |
+ ui_test_utils::ExecuteJavaScriptAndExtractBool( |
+ host->render_view_host(), L"", L"testgetBackgroundPageAPI()", &result); |
+ EXPECT_TRUE(result); |
+ |
+ ui_test_utils::NavigateToURL( |
+ browser(), |
+ GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/" |
+ "test_gettabs.html")); |
+ result = false; |
+ ui_test_utils::ExecuteJavaScriptAndExtractBool( |
+ host->render_view_host(), L"", L"testgetTabContentsesAPI()", &result); |
+ EXPECT_TRUE(result); |
+} |
+ |
// Tests that the ExtensionShelf initializes properly, notices that |
// an extension loaded and has a view available, and then sets that up |
// properly. |