diff options
author | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-22 12:47:31 +0000 |
---|---|---|
committer | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-22 12:47:31 +0000 |
commit | f7a4186a0914e7e82ab9ae374ab48a2fc01ae750 (patch) | |
tree | 76420fada9835086dc26a582868911cd89c51faf /content/browser | |
parent | 3cac821d9bf27e196fab8941b51394f1de72f5f1 (diff) | |
download | chromium_src-f7a4186a0914e7e82ab9ae374ab48a2fc01ae750.zip chromium_src-f7a4186a0914e7e82ab9ae374ab48a2fc01ae750.tar.gz chromium_src-f7a4186a0914e7e82ab9ae374ab48a2fc01ae750.tar.bz2 |
Test getUserMedia aspect ratio and letterbox/cropped.
Added WebrtcBrowserTest:TestGetUserMediaAspectRatio checking different aspect ratios (4:3, 16:9, 16:10), and if they are correctly letterboxed or cropped.
BUG=159634
Review URL: https://chromiumcodereview.appspot.com/23156003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219002 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r-- | content/browser/media/webrtc_browsertest.cc | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/content/browser/media/webrtc_browsertest.cc b/content/browser/media/webrtc_browsertest.cc index 4e050e8..31deb44 100644 --- a/content/browser/media/webrtc_browsertest.cc +++ b/content/browser/media/webrtc_browsertest.cc @@ -19,16 +19,21 @@ namespace { -std::string GenerateGetUserMediaCall(int min_width, +static const char kGetUserMedia[] = "getUserMedia"; +static const char kGetUserMediaWithAnalysis[] = "getUserMediaWithAnalysis"; + +std::string GenerateGetUserMediaCall(const char* function_name, + int min_width, int max_width, int min_height, int max_height, int min_frame_rate, int max_frame_rate) { return base::StringPrintf( - "getUserMedia({video: {mandatory: {minWidth: %d, maxWidth: %d, " + "%s({video: {mandatory: {minWidth: %d, maxWidth: %d, " "minHeight: %d, maxHeight: %d, minFrameRate: %d, maxFrameRate: %d}, " "optional: []}});", + function_name, min_width, max_width, min_height, @@ -264,19 +269,19 @@ IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest, TestGetUserMediaConstraints) { std::vector<std::string> list_of_get_user_media_calls; list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(320, 320, 180, 180, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 320, 320, 180, 180, 30, 30)); list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(320, 320, 240, 240, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 320, 320, 240, 240, 30, 30)); list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(640, 640, 360, 360, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 640, 640, 360, 360, 30, 30)); list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(640, 640, 480, 480, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 640, 640, 480, 480, 30, 30)); list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(960, 960, 720, 720, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 960, 960, 720, 720, 30, 30)); list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(1280, 1280, 720, 720, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 1280, 1280, 720, 720, 30, 30)); list_of_get_user_media_calls.push_back( - GenerateGetUserMediaCall(1920, 1920, 1080, 1080, 30, 30)); + GenerateGetUserMediaCall(kGetUserMedia, 1920, 1920, 1080, 1080, 30, 30)); for (std::vector<std::string>::iterator const_iterator = list_of_get_user_media_calls.begin(); @@ -289,6 +294,26 @@ IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest, TestGetUserMediaConstraints) { } } +// This test calls getUserMedia and checks for aspect ratio behavior. +IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest, TestGetUserMediaAspectRatio) { + GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); + + std::string constraints_4_3 = GenerateGetUserMediaCall( + kGetUserMediaWithAnalysis, 640, 640, 480, 480, 30, 30); + std::string constraints_16_9 = GenerateGetUserMediaCall( + kGetUserMediaWithAnalysis, 640, 640, 360, 360, 30, 30); + + // TODO(mcasas): add more aspect ratios, in particular 16:10 crbug.com/275594. + + NavigateToURL(shell(), url); + EXPECT_TRUE(ExecuteJavascript(constraints_4_3)); + ExpectTitle("4:3 letterbox"); + + NavigateToURL(shell(), url); + EXPECT_TRUE(ExecuteJavascript(constraints_16_9)); + ExpectTitle("16:9 letterbox"); +} + IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest, AddTwoMediaStreamsToOnePC) { GURL url(embedded_test_server()->GetURL("/media/peerconnection-call.html")); NavigateToURL(shell(), url); |