Index: content/browser/media/webrtc_getusermedia_browsertest.cc |
diff --git a/content/browser/media/webrtc_getusermedia_browsertest.cc b/content/browser/media/webrtc_getusermedia_browsertest.cc |
index 15f42f168d3db57da5f2f614d228b44cd1c58c56..9c2950bb26bff7411383ba3b484e653c14dbc4aa 100644 |
--- a/content/browser/media/webrtc_getusermedia_browsertest.cc |
+++ b/content/browser/media/webrtc_getusermedia_browsertest.cc |
@@ -28,14 +28,14 @@ using trace_analyzer::TraceEventVector; |
namespace { |
static const char kGetUserMediaAndStop[] = "getUserMediaAndStop"; |
-static const char kGetUserMediaAndWaitAndStop[] = "getUserMediaAndWaitAndStop"; |
+static const char kGetUserMediaAndGetStreamUp[] = "getUserMediaAndGetStreamUp"; |
static const char kGetUserMediaAndAnalyseAndStop[] = |
"getUserMediaAndAnalyseAndStop"; |
+static const char kGetUserMediaAndExpectFailure[] = |
+ "getUserMediaAndExpectFailure"; |
// Results returned by JS. |
static const char kOK[] = "OK"; |
-static const char kGetUserMediaFailed[] = |
- "GetUserMedia call failed with code undefined"; |
std::string GenerateGetUserMediaWithMandatorySourceID( |
const std::string& function_name, |
@@ -109,20 +109,23 @@ class WebRtcGetUserMediaBrowserTest: public WebRtcContentBrowserTest { |
GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
NavigateToURL(shell(), url); |
+ |
// Put getUserMedia to work and let it run for a couple of seconds. |
DCHECK(time_to_sample_secs); |
- ASSERT_TRUE( |
- ExecuteJavascript(base::StringPrintf("%s({video: true}, %d);", |
- kGetUserMediaAndWaitAndStop, |
- time_to_sample_secs))); |
+ ASSERT_EQ("ok-stream-running", |
+ ExecuteJavascriptAndReturnResult( |
+ base::StringPrintf("%s({video: true});", |
+ kGetUserMediaAndGetStreamUp))); |
- // Make sure the stream is up and running, then start collecting traces. |
- ExpectTitle("Running..."); |
+ // Now the stream is up and running, start collecting traces. |
StartTracing(); |
+ // Let the stream run for a while in javascript. |
+ ExecuteJavascriptAndWaitForOk( |
+ base::StringPrintf("waitAndStopVideoTrack(%d);", time_to_sample_secs)); |
+ |
// Wait until the page title changes to "OK". Do not sleep() here since that |
// would stop both this code and the browser underneath. |
- ExpectTitle("OK"); |
StopTracing(); |
scoped_ptr<TraceAnalyzer> analyzer(CreateTraceAnalyzer()); |
@@ -214,10 +217,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, GetVideoStreamAndStop) { |
GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript( |
- base::StringPrintf("%s({video: true});", kGetUserMediaAndStop))); |
- |
- ExpectTitle("OK"); |
+ ExecuteJavascriptAndWaitForOk( |
+ base::StringPrintf("%s({video: true});", kGetUserMediaAndStop)); |
} |
IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
@@ -227,10 +228,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript(base::StringPrintf( |
- "%s({video: true, audio: true});", kGetUserMediaAndStop))); |
- |
- ExpectTitle("OK"); |
+ ExecuteJavascriptAndWaitForOk(base::StringPrintf( |
+ "%s({video: true, audio: true});", kGetUserMediaAndStop)); |
} |
IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
@@ -240,9 +239,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript("getUserMediaAndClone();")); |
- |
- ExpectTitle("OK"); |
+ ExecuteJavascriptAndWaitForOk("getUserMediaAndClone();"); |
} |
IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
@@ -282,25 +279,25 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
// Test with invalid mandatory audio sourceID. |
NavigateToURL(shell(), url); |
- EXPECT_EQ(kGetUserMediaFailed, ExecuteJavascriptAndReturnResult( |
+ ExecuteJavascriptAndWaitForOk( |
GenerateGetUserMediaWithMandatorySourceID( |
- kGetUserMediaAndStop, |
+ kGetUserMediaAndExpectFailure, |
"something invalid", |
- video_ids[0]))); |
+ video_ids[0])); |
// Test with invalid mandatory video sourceID. |
- EXPECT_EQ(kGetUserMediaFailed, ExecuteJavascriptAndReturnResult( |
+ ExecuteJavascriptAndWaitForOk( |
GenerateGetUserMediaWithMandatorySourceID( |
- kGetUserMediaAndStop, |
+ kGetUserMediaAndExpectFailure, |
audio_ids[0], |
- "something invalid"))); |
+ "something invalid")); |
// Test with empty mandatory audio sourceID. |
- EXPECT_EQ(kGetUserMediaFailed, ExecuteJavascriptAndReturnResult( |
+ ExecuteJavascriptAndWaitForOk( |
GenerateGetUserMediaWithMandatorySourceID( |
- kGetUserMediaAndStop, |
+ kGetUserMediaAndExpectFailure, |
"", |
- video_ids[0]))); |
+ video_ids[0])); |
} |
IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
@@ -342,10 +339,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, TwoGetUserMediaAndStop) { |
GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript( |
- "twoGetUserMediaAndStop({video: true, audio: true});")); |
- |
- ExpectTitle("OK"); |
+ ExecuteJavascriptAndWaitForOk( |
+ "twoGetUserMediaAndStop({video: true, audio: true});"); |
} |
// This test will make a simple getUserMedia page, verify that video is playing |
@@ -388,8 +383,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
// TODO(mcasas): add more aspect ratios, in particular 16:10 crbug.com/275594. |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript(constraints_4_3)); |
- ExpectTitle("4:3 letterbox"); |
+ ASSERT_EQ("4:3 letterbox", |
+ ExecuteJavascriptAndReturnResult(constraints_4_3)); |
} |
// This test calls getUserMedia and checks for aspect ratio behavior. |
@@ -406,8 +401,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
kGetUserMediaAndAnalyseAndStop, 640, 640, 360, 360, 30, 30); |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript(constraints_16_9)); |
- ExpectTitle("16:9 letterbox"); |
+ ASSERT_EQ("16:9 letterbox", |
+ ExecuteJavascriptAndReturnResult(constraints_16_9)); |
} |
namespace { |
@@ -449,8 +444,7 @@ IN_PROC_BROWSER_TEST_P(WebRtcConstraintsBrowserTest, GetUserMediaConstraints) { |
user_media().max_frame_rate); |
DVLOG(1) << "Calling getUserMedia: " << call; |
NavigateToURL(shell(), url); |
- ASSERT_TRUE(ExecuteJavascript(call)); |
- ExpectTitle("OK"); |
+ ExecuteJavascriptAndWaitForOk(call); |
} |
static const UserMediaSizes kAllUserMediaSizes[] = { |