Index: chrome/browser/extensions/extension_webui_apitest.cc |
diff --git a/chrome/browser/extensions/extension_webui_apitest.cc b/chrome/browser/extensions/extension_webui_apitest.cc |
index 1fd6e8c411d61d21f0964a97510c60c94a61fac3..81d84e96eba2d08b93dd9e2a517864df8623e426 100644 |
--- a/chrome/browser/extensions/extension_webui_apitest.cc |
+++ b/chrome/browser/extensions/extension_webui_apitest.cc |
@@ -34,7 +34,6 @@ class ExtensionWebUITest : public ExtensionApiTest { |
protected: |
testing::AssertionResult RunTest(const char* name, |
const GURL& page_url, |
- const GURL& frame_url, |
bool expected_result) { |
std::string script; |
{ |
@@ -54,7 +53,9 @@ class ExtensionWebUITest : public ExtensionApiTest { |
// Run the test. |
bool actual_result = false; |
- content::RenderFrameHost* webui = NavigateToWebUI(page_url, frame_url); |
+ ui_test_utils::NavigateToURL(browser(), page_url); |
+ content::RenderFrameHost* webui = |
+ browser()->tab_strip_model()->GetActiveWebContents()->GetMainFrame(); |
if (!webui) |
return testing::AssertionFailure() << "Failed to navigate to WebUI"; |
CHECK(content::ExecuteScriptAndExtractBool(webui, script, &actual_result)); |
@@ -63,76 +64,21 @@ class ExtensionWebUITest : public ExtensionApiTest { |
: (testing::AssertionFailure() << "Check console output"); |
} |
- testing::AssertionResult RunTestOnExtensionsFrame(const char* name) { |
- // In the current extension WebUI design, the content is actually hosted in |
- // an iframe at chrome://extensions-frame. |
- return RunTest(name, |
- GURL("chrome://extensions"), |
- GURL("chrome://extensions-frame"), |
- true); // tests on chrome://extensions-frame should succeed |
- } |
- |
- testing::AssertionResult RunTestOnChromeExtensionsFrame(const char* name) { |
- // Like RunTestOnExtensionsFrame, but chrome://extensions is an alias for |
- // chrome://chrome/extensions so test it explicitly. |
- return RunTest(name, |
- GURL("chrome://chrome/extensions"), |
- GURL("chrome://extensions-frame"), |
- true); // tests on chrome://extensions-frame should succeed |
- } |
- |
- testing::AssertionResult RunTestOnChromeExtensions(const char* name) { |
- // Despite the extensions page being hosted in an iframe, also test the |
- // top-level chrome://extensions page (which actually loads |
- // chrome://chrome/extensions). In the past there was a bug where top-level |
- // extension WebUI bindings weren't correctly set up. |
- return RunTest(name, |
- GURL("chrome://chrome/extensions"), |
- GURL("chrome://chrome/extensions"), |
- true); // tests on chrome://chrome/extensions should succeed |
+ testing::AssertionResult RunTestOnExtensions(const char* name) { |
Devlin
2017/06/13 18:04:21
nit: maybe OnExtensionsPage? OnExtensions sounds
Dan Beam
2017/06/13 18:15:16
Done.
|
+ return RunTest(name, GURL("chrome://extensions"), true); |
} |
testing::AssertionResult RunTestOnAbout(const char* name) { |
// chrome://about is an innocuous page that doesn't have any bindings. |
// Tests should fail. |
- return RunTest(name, |
- GURL("chrome://about"), |
- GURL("chrome://about"), |
- false); // tests on chrome://about should fail |
- } |
- |
- private: |
- // Navigates the browser to a WebUI page and returns the RenderFrameHost for |
- // that page. |
- content::RenderFrameHost* NavigateToWebUI(const GURL& page_url, |
- const GURL& frame_url) { |
- ui_test_utils::NavigateToURL(browser(), page_url); |
- |
- content::WebContents* active_web_contents = |
- browser()->tab_strip_model()->GetActiveWebContents(); |
- |
- if (active_web_contents->GetLastCommittedURL() == frame_url) |
- return active_web_contents->GetMainFrame(); |
- |
- return FrameMatchingPredicate( |
- active_web_contents, |
- base::Bind(&content::FrameHasSourceUrl, frame_url)); |
+ return RunTest(name, GURL("chrome://about"), false); |
} |
}; |
#if !defined(OS_WIN) // flaky http://crbug.com/530722 |
-IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SanityCheckAvailableAPIsInFrame) { |
- ASSERT_TRUE(RunTestOnExtensionsFrame("sanity_check_available_apis.js")); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, |
- SanityCheckAvailableAPIsInChromeFrame) { |
- ASSERT_TRUE(RunTestOnChromeExtensionsFrame("sanity_check_available_apis.js")); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SanityCheckAvailableAPIsInToplevel) { |
- ASSERT_TRUE(RunTestOnChromeExtensions("sanity_check_available_apis.js")); |
+IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SanityCheckAvailableAPIs) { |
+ ASSERT_TRUE(RunTestOnExtensions("sanity_check_available_apis.js")); |
} |
IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SanityCheckUnavailableAPIs) { |
@@ -145,7 +91,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SendMessage) { |
std::unique_ptr<ExtensionTestMessageListener> listener( |
new ExtensionTestMessageListener("ping", true)); |
- ASSERT_TRUE(RunTestOnExtensionsFrame("send_message.js")); |
+ ASSERT_TRUE(RunTestOnExtensions("send_message.js")); |
ASSERT_TRUE(listener->WaitUntilSatisfied()); |
listener->Reply("pong"); |
@@ -158,7 +104,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SendMessage) { |
// Tests chrome.runtime.onMessage, which exercises WebUI registering and |
// receiving an event. |
IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, OnMessage) { |
- ASSERT_TRUE(RunTestOnExtensionsFrame("on_message.js")); |
+ ASSERT_TRUE(RunTestOnExtensions("on_message.js")); |
OnMessage::Info info; |
info.data = "hi"; |
@@ -179,7 +125,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, RuntimeLastError) { |
std::unique_ptr<ExtensionTestMessageListener> listener( |
new ExtensionTestMessageListener("ping", true)); |
- ASSERT_TRUE(RunTestOnExtensionsFrame("runtime_last_error.js")); |
+ ASSERT_TRUE(RunTestOnExtensions("runtime_last_error.js")); |
ASSERT_TRUE(listener->WaitUntilSatisfied()); |
listener->ReplyWithError("unknown host"); |
@@ -198,7 +144,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, CanEmbedExtensionOptions) { |
.AppendASCII("embed_self")); |
ASSERT_TRUE(extension); |
- ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js")); |
+ ASSERT_TRUE(RunTestOnExtensions("can_embed_extension_options.js")); |
ASSERT_TRUE(listener->WaitUntilSatisfied()); |
listener->Reply(extension->id()); |
@@ -215,8 +161,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, ReceivesExtensionOptionsOnClose) { |
.AppendASCII("close_self"), 1); |
ASSERT_TRUE(extension); |
- ASSERT_TRUE( |
- RunTestOnExtensionsFrame("receives_extension_options_on_close.js")); |
+ ASSERT_TRUE(RunTestOnExtensions("receives_extension_options_on_close.js")); |
ASSERT_TRUE(listener->WaitUntilSatisfied()); |
listener->Reply(extension->id()); |
@@ -242,7 +187,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, EmbedDisabledExtension) { |
DisableExtension(extension_id); |
} |
- ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js")); |
+ ASSERT_TRUE(RunTestOnExtensions("can_embed_extension_options.js")); |
ASSERT_TRUE(listener->WaitUntilSatisfied()); |
listener->Reply(extension_id); |