| 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 8eb7d79748b1797e21898ddc4884394013d7339c..f0bc828f57b0027f3c854cdff7126fbdd138bd42 100644
|
| --- a/content/browser/media/webrtc_getusermedia_browsertest.cc
|
| +++ b/content/browser/media/webrtc_getusermedia_browsertest.cc
|
| @@ -501,6 +501,36 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest,
|
| ExecuteJavascriptAndReturnResult(call));
|
| }
|
|
|
| +// This test makes two getUserMedia requests, one with impossible constraints
|
| +// that should trigger an error, and one with valid constraints. The test
|
| +// verifies getUserMedia can succeed after being given impossible constraints.
|
| +IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest,
|
| + TwoGetUserMediaAndCheckCallbackAfterFailure) {
|
| + ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
|
| +
|
| + GURL url(embedded_test_server()->GetURL("/media/getusermedia.html"));
|
| + NavigateToURL(shell(), url);
|
| +
|
| + int large_value = 99999;
|
| + const std::string gum_with_impossible_constraints =
|
| + GenerateGetUserMediaCall(kGetUserMediaAndExpectFailure,
|
| + large_value,
|
| + large_value,
|
| + large_value,
|
| + large_value,
|
| + large_value,
|
| + large_value);
|
| + const std::string gum_with_vga_constraints =
|
| + GenerateGetUserMediaCall(kGetUserMediaAndAnalyseAndStop,
|
| + 640, 640, 480, 480, 10, 30);
|
| +
|
| + ASSERT_EQ("ConstraintNotSatisfiedError",
|
| + ExecuteJavascriptAndReturnResult(gum_with_impossible_constraints));
|
| +
|
| + ASSERT_EQ("w=640:h=480",
|
| + ExecuteJavascriptAndReturnResult(gum_with_vga_constraints));
|
| +}
|
| +
|
| // This test will make a simple getUserMedia page, verify that video is playing
|
| // in a simple local <video>, and for a couple of seconds, collect some
|
| // performance traces from VideoCaptureController colorspace conversion and
|
|
|