Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/debug/trace_event_impl.h" | 5 #include "base/debug/trace_event_impl.h" |
| 6 #include "base/json/json_reader.h" | 6 #include "base/json/json_reader.h" |
| 7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
| 8 #include "base/test/trace_event_analyzer.h" | 8 #include "base/test/trace_event_analyzer.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "content/browser/media/webrtc_internals.h" | 10 #include "content/browser/media/webrtc_internals.h" |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 326 "something invalid"))); | 326 "something invalid"))); |
| 327 | 327 |
| 328 // Test with empty optional audio sourceID. | 328 // Test with empty optional audio sourceID. |
| 329 EXPECT_EQ(kOK, ExecuteJavascriptAndReturnResult( | 329 EXPECT_EQ(kOK, ExecuteJavascriptAndReturnResult( |
| 330 GenerateGetUserMediaWithOptionalSourceID( | 330 GenerateGetUserMediaWithOptionalSourceID( |
| 331 kGetUserMediaAndStop, | 331 kGetUserMediaAndStop, |
| 332 "", | 332 "", |
| 333 video_ids[0]))); | 333 video_ids[0]))); |
| 334 } | 334 } |
| 335 | 335 |
| 336 // Test that opening an unsupported resolution ends up in an error. | |
| 337 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, | |
| 338 GetVideoStreamWithUnsupportedVideoSize) { | |
| 339 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | |
|
perkj_chrome
2014/03/12 19:55:48
Oh, I did this in https://codereview.chromium.org/
mcasas
2014/03/13 08:04:56
I'll remove these two tests then, but I'd recommen
| |
| 340 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); | |
| 341 NavigateToURL(shell(), url); | |
| 342 | |
| 343 std::string too_large_constraints = GenerateGetUserMediaCall( | |
| 344 kGetUserMediaAndStop, 800, 800, 600, 600, 20, 20); | |
| 345 DCHECK_NE(kOK, ExecuteJavascriptAndReturnResult(too_large_constraints)); | |
| 346 } | |
| 347 | |
| 348 // Test that opening an unsupported frame rate ends up in an error. | |
| 349 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, | |
| 350 GetVideoStreamWithUnsupportedFrameRate) { | |
| 351 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | |
|
perkj_chrome
2014/03/12 19:55:48
Do we need a special test for this? I think this i
mcasas
2014/03/13 08:04:56
See above.
| |
| 352 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); | |
| 353 NavigateToURL(shell(), url); | |
| 354 | |
| 355 std::string too_fast_constraints = GenerateGetUserMediaCall( | |
| 356 kGetUserMediaAndStop, 640, 640, 480, 480, 30, 30); | |
| 357 DCHECK_NE(kOK, ExecuteJavascriptAndReturnResult(too_fast_constraints)); | |
| 358 } | |
| 359 | |
| 336 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, TwoGetUserMediaAndStop) { | 360 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, TwoGetUserMediaAndStop) { |
| 337 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 361 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 338 | 362 |
| 339 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); | 363 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
| 340 NavigateToURL(shell(), url); | 364 NavigateToURL(shell(), url); |
| 341 | 365 |
| 342 ExecuteJavascriptAndWaitForOk( | 366 ExecuteJavascriptAndWaitForOk( |
| 343 "twoGetUserMediaAndStop({video: true, audio: true});"); | 367 "twoGetUserMediaAndStop({video: true, audio: true});"); |
| 344 } | 368 } |
| 345 | 369 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 357 } | 381 } |
| 358 | 382 |
| 359 // This test calls getUserMedia and checks for aspect ratio behavior. | 383 // This test calls getUserMedia and checks for aspect ratio behavior. |
| 360 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, | 384 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
| 361 TestGetUserMediaAspectRatio4To3) { | 385 TestGetUserMediaAspectRatio4To3) { |
| 362 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 386 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 363 | 387 |
| 364 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); | 388 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
| 365 | 389 |
| 366 std::string constraints_4_3 = GenerateGetUserMediaCall( | 390 std::string constraints_4_3 = GenerateGetUserMediaCall( |
| 367 kGetUserMediaAndAnalyseAndStop, 640, 640, 480, 480, 30, 30); | 391 kGetUserMediaAndAnalyseAndStop, 640, 640, 480, 480, 20, 20); |
|
perkj_chrome
2014/03/12 19:55:48
Can we skip changing the maxFramerate and only cha
mcasas
2014/03/13 08:04:56
Done.
| |
| 368 | 392 |
| 369 // TODO(mcasas): add more aspect ratios, in particular 16:10 crbug.com/275594. | 393 // TODO(mcasas): add more aspect ratios, in particular 16:10 crbug.com/275594. |
| 370 | 394 |
| 371 NavigateToURL(shell(), url); | 395 NavigateToURL(shell(), url); |
| 372 ASSERT_EQ("4:3 letterbox", | 396 ASSERT_EQ("4:3 letterbox", |
| 373 ExecuteJavascriptAndReturnResult(constraints_4_3)); | 397 ExecuteJavascriptAndReturnResult(constraints_4_3)); |
| 374 } | 398 } |
| 375 | 399 |
| 376 // This test calls getUserMedia and checks for aspect ratio behavior. | 400 // This test calls getUserMedia and checks for aspect ratio behavior. |
| 377 // TODO(perkj): Enable this test as soon as crbug/349450 is fixed. | 401 // TODO(perkj): Enable this test as soon as crbug/349450 is fixed. |
| 378 // Currently the render pipeline doesn't support cropping where the new cropped | 402 // Currently the render pipeline doesn't support cropping where the new cropped |
| 379 // frame doesn't have the same top left coordinates as the original frame. | 403 // frame doesn't have the same top left coordinates as the original frame. |
| 380 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, | 404 IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
| 381 DISABLED_TestGetUserMediaAspectRatio16To9) { | 405 DISABLED_TestGetUserMediaAspectRatio16To9) { |
| 382 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 406 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 383 | 407 |
| 384 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); | 408 GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
| 385 | 409 |
| 386 std::string constraints_16_9 = GenerateGetUserMediaCall( | 410 std::string constraints_16_9 = GenerateGetUserMediaCall( |
| 387 kGetUserMediaAndAnalyseAndStop, 640, 640, 360, 360, 30, 30); | 411 kGetUserMediaAndAnalyseAndStop, 640, 640, 360, 360, 20, 20); |
| 388 | 412 |
| 389 NavigateToURL(shell(), url); | 413 NavigateToURL(shell(), url); |
| 390 ASSERT_EQ("16:9 letterbox", | 414 ASSERT_EQ("16:9 letterbox", |
| 391 ExecuteJavascriptAndReturnResult(constraints_16_9)); | 415 ExecuteJavascriptAndReturnResult(constraints_16_9)); |
| 392 } | 416 } |
| 393 | 417 |
| 394 namespace { | 418 namespace { |
| 395 | 419 |
| 396 struct UserMediaSizes { | 420 struct UserMediaSizes { |
| 397 int min_width; | 421 int min_width; |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 427 user_media().min_height, | 451 user_media().min_height, |
| 428 user_media().max_height, | 452 user_media().max_height, |
| 429 user_media().min_frame_rate, | 453 user_media().min_frame_rate, |
| 430 user_media().max_frame_rate); | 454 user_media().max_frame_rate); |
| 431 DVLOG(1) << "Calling getUserMedia: " << call; | 455 DVLOG(1) << "Calling getUserMedia: " << call; |
| 432 NavigateToURL(shell(), url); | 456 NavigateToURL(shell(), url); |
| 433 ExecuteJavascriptAndWaitForOk(call); | 457 ExecuteJavascriptAndWaitForOk(call); |
| 434 } | 458 } |
| 435 | 459 |
| 436 static const UserMediaSizes kAllUserMediaSizes[] = { | 460 static const UserMediaSizes kAllUserMediaSizes[] = { |
| 437 {320, 320, 180, 180, 30, 30}, | 461 {320, 320, 180, 180, 20, 20}, |
| 438 {320, 320, 240, 240, 30, 30}, | 462 {320, 320, 240, 240, 20, 20}, |
| 439 {640, 640, 360, 360, 30, 30}, | 463 {640, 640, 360, 360, 20, 20}, |
| 440 {640, 640, 480, 480, 30, 30}, | 464 {640, 640, 480, 480, 20, 20}, |
| 441 {960, 960, 720, 720, 30, 30}, | 465 {960, 960, 720, 720, 20, 20}, |
| 442 {1280, 1280, 720, 720, 30, 30}, | 466 {1280, 1280, 720, 720, 20, 20}, |
| 443 {1920, 1920, 1080, 1080, 30, 30}}; | 467 {1920, 1920, 1080, 1080, 20, 20}}; |
| 444 | 468 |
| 445 INSTANTIATE_TEST_CASE_P(UserMedia, | 469 INSTANTIATE_TEST_CASE_P(UserMedia, |
| 446 WebRtcConstraintsBrowserTest, | 470 WebRtcConstraintsBrowserTest, |
| 447 testing::ValuesIn(kAllUserMediaSizes)); | 471 testing::ValuesIn(kAllUserMediaSizes)); |
| 448 | 472 |
| 449 } // namespace content | 473 } // namespace content |
| OLD | NEW |