| Index: chrome/browser/extensions/web_view_browsertest.cc
|
| diff --git a/chrome/browser/extensions/web_view_browsertest.cc b/chrome/browser/extensions/web_view_browsertest.cc
|
| index 4d830c5779866a5250c1747e60a4b3bcabdbbf2a..c9135e280c91a4f097a5584eeea87ec1efc5ed42 100644
|
| --- a/chrome/browser/extensions/web_view_browsertest.cc
|
| +++ b/chrome/browser/extensions/web_view_browsertest.cc
|
| @@ -404,6 +404,8 @@ class WebViewTest : public extensions::PlatformAppBrowserTest {
|
| return guest_web_contents;
|
| }
|
|
|
| + void MediaAccessAPIAllowTestHelper(const std::string& test_name);
|
| +
|
| private:
|
| scoped_ptr<content::FakeSpeechRecognitionManager>
|
| fake_speech_recognition_manager_;
|
| @@ -845,13 +847,7 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, DISABLED_MediaAccessAPIDeny) {
|
| "platform_apps/web_view/media_access/deny")) << message_;
|
| }
|
|
|
| -// Disabled for being flaky: http://crbug.com/238662
|
| -#if defined(OS_CHROMEOS)
|
| -#define MAYBE_MediaAccessAPIAllow DISABLED_MediaAccessAPIAllow
|
| -#else
|
| -#define MAYBE_MediaAccessAPIAllow MediaAccessAPIAllow
|
| -#endif
|
| -IN_PROC_BROWSER_TEST_F(WebViewTest, MAYBE_MediaAccessAPIAllow) {
|
| +void WebViewTest::MediaAccessAPIAllowTestHelper(const std::string& test_name) {
|
| ASSERT_TRUE(StartTestServer()); // For serving guest pages.
|
| ExtensionTestMessageListener launched_listener("Launched", false);
|
| LoadAndLaunchPlatformApp("web_view/media_access/allow");
|
| @@ -863,31 +859,32 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, MAYBE_MediaAccessAPIAllow) {
|
| MockWebContentsDelegate* mock = new MockWebContentsDelegate;
|
| embedder_web_contents->SetDelegate(mock);
|
|
|
| - const size_t num_tests = 4;
|
| - std::string test_names[num_tests] = {
|
| - "testAllow",
|
| - "testAllowAndThenDeny",
|
| - "testAllowTwice",
|
| - "testAllowAsync",
|
| - };
|
| - for (size_t i = 0; i < num_tests; ++i) {
|
| - ExtensionTestMessageListener done_listener("DoneMediaTest", false);
|
| - EXPECT_TRUE(
|
| - content::ExecuteScript(
|
| - embedder_web_contents,
|
| - base::StringPrintf("startAllowTest('%s')",
|
| - test_names[i].c_str())));
|
| - done_listener.WaitUntilSatisfied();
|
| + ExtensionTestMessageListener done_listener("DoneMediaTest.PASSED", false);
|
| + done_listener.AlsoListenForFailureMessage("DoneMediaTest.FAILED");
|
| + EXPECT_TRUE(
|
| + content::ExecuteScript(
|
| + embedder_web_contents,
|
| + base::StringPrintf("startAllowTest('%s')",
|
| + test_name.c_str())));
|
| + ASSERT_TRUE(done_listener.WaitUntilSatisfied());
|
|
|
| - std::string result;
|
| - EXPECT_TRUE(
|
| - content::ExecuteScriptAndExtractString(
|
| - embedder_web_contents,
|
| - "window.domAutomationController.send(getTestStatus())", &result));
|
| - ASSERT_EQ(std::string("PASSED"), result);
|
| + mock->WaitForSetMediaPermission();
|
| +}
|
|
|
| - mock->WaitForSetMediaPermission();
|
| - }
|
| +IN_PROC_BROWSER_TEST_F(WebViewTest, MediaAccessAPIAllow_TestAllow) {
|
| + MediaAccessAPIAllowTestHelper("testAllow");
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebViewTest, MediaAccessAPIAllow_TestAllowAndThenDeny) {
|
| + MediaAccessAPIAllowTestHelper("testAllowAndThenDeny");
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebViewTest, MediaAccessAPIAllow_TestAllowTwice) {
|
| + MediaAccessAPIAllowTestHelper("testAllowTwice");
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebViewTest, MediaAccessAPIAllow_TestAllowAsync) {
|
| + MediaAccessAPIAllowTestHelper("testAllowAsync");
|
| }
|
|
|
| // Checks that window.screenX/screenY/screenLeft/screenTop works correctly for
|
|
|