Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(644)

Side by Side Diff: chrome/browser/media/webrtc_browsertest_base.cc

Issue 1061473002: Make WebRtcWebcamBrowserTest fail faster. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix issue in js code and improve logging of constraints Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/media/webrtc_browsertest_base.h" 5 #include "chrome/browser/media/webrtc_browsertest_base.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 } 93 }
94 94
95 WebRtcTestBase::~WebRtcTestBase() { 95 WebRtcTestBase::~WebRtcTestBase() {
96 if (detect_errors_in_javascript_) { 96 if (detect_errors_in_javascript_) {
97 EXPECT_FALSE(hit_javascript_errors_.Get()) 97 EXPECT_FALSE(hit_javascript_errors_.Get())
98 << "Encountered javascript errors during test execution (Search " 98 << "Encountered javascript errors during test execution (Search "
99 << "for Uncaught or ERROR:CONSOLE in the test output)."; 99 << "for Uncaught or ERROR:CONSOLE in the test output).";
100 } 100 }
101 } 101 }
102 102
103 void WebRtcTestBase::GetUserMediaAndAccept( 103 bool WebRtcTestBase::GetUserMediaAndAccept(
104 content::WebContents* tab_contents) const { 104 content::WebContents* tab_contents) const {
105 GetUserMediaWithSpecificConstraintsAndAccept(tab_contents, 105 return GetUserMediaWithSpecificConstraintsAndAccept(
106 kAudioVideoCallConstraints); 106 tab_contents, kAudioVideoCallConstraints);
107 } 107 }
108 108
109 void WebRtcTestBase::GetUserMediaWithSpecificConstraintsAndAccept( 109 bool WebRtcTestBase::GetUserMediaWithSpecificConstraintsAndAccept(
110 content::WebContents* tab_contents, 110 content::WebContents* tab_contents,
111 const std::string& constraints) const { 111 const std::string& constraints) const {
112 infobars::InfoBar* infobar = 112 infobars::InfoBar* infobar =
113 GetUserMediaAndWaitForInfoBar(tab_contents, constraints); 113 GetUserMediaAndWaitForInfoBar(tab_contents, constraints);
114 infobar->delegate()->AsConfirmInfoBarDelegate()->Accept(); 114 infobar->delegate()->AsConfirmInfoBarDelegate()->Accept();
115 CloseInfoBarInTab(tab_contents, infobar); 115 CloseInfoBarInTab(tab_contents, infobar);
116 116
117 // Wait for WebRTC to call the success callback. 117 // Wait for WebRTC to call the success callback.
118 const char kOkGotStream[] = "ok-got-stream"; 118 const char kOkGotStream[] = "ok-got-stream";
119 EXPECT_TRUE(test::PollingWaitUntil("obtainGetUserMediaResult()", kOkGotStream, 119 return test::PollingWaitUntil("obtainGetUserMediaResult()", kOkGotStream,
120 tab_contents)); 120 tab_contents);
121 } 121 }
122 122
123 void WebRtcTestBase::GetUserMediaAndDeny(content::WebContents* tab_contents) { 123 void WebRtcTestBase::GetUserMediaAndDeny(content::WebContents* tab_contents) {
124 return GetUserMediaWithSpecificConstraintsAndDeny(tab_contents, 124 return GetUserMediaWithSpecificConstraintsAndDeny(tab_contents,
125 kAudioVideoCallConstraints); 125 kAudioVideoCallConstraints);
126 } 126 }
127 127
128 void WebRtcTestBase::GetUserMediaWithSpecificConstraintsAndDeny( 128 void WebRtcTestBase::GetUserMediaWithSpecificConstraintsAndDeny(
129 content::WebContents* tab_contents, 129 content::WebContents* tab_contents,
130 const std::string& constraints) const { 130 const std::string& constraints) const {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } 186 }
187 187
188 content::WebContents* 188 content::WebContents*
189 WebRtcTestBase::OpenPageAndGetUserMediaInNewTabWithConstraints( 189 WebRtcTestBase::OpenPageAndGetUserMediaInNewTabWithConstraints(
190 const GURL& url, 190 const GURL& url,
191 const std::string& constraints) const { 191 const std::string& constraints) const {
192 chrome::AddTabAt(browser(), GURL(), -1, true); 192 chrome::AddTabAt(browser(), GURL(), -1, true);
193 ui_test_utils::NavigateToURL(browser(), url); 193 ui_test_utils::NavigateToURL(browser(), url);
194 content::WebContents* new_tab = 194 content::WebContents* new_tab =
195 browser()->tab_strip_model()->GetActiveWebContents(); 195 browser()->tab_strip_model()->GetActiveWebContents();
196 GetUserMediaWithSpecificConstraintsAndAccept(new_tab, constraints); 196 EXPECT_TRUE(GetUserMediaWithSpecificConstraintsAndAccept(
197 new_tab, constraints));
197 return new_tab; 198 return new_tab;
198 } 199 }
199 200
200 content::WebContents* WebRtcTestBase::OpenTestPageAndGetUserMediaInNewTab( 201 content::WebContents* WebRtcTestBase::OpenTestPageAndGetUserMediaInNewTab(
201 const std::string& test_page) const { 202 const std::string& test_page) const {
202 return OpenPageAndGetUserMediaInNewTab( 203 return OpenPageAndGetUserMediaInNewTab(
203 embedded_test_server()->GetURL(test_page)); 204 embedded_test_server()->GetURL(test_page));
204 } 205 }
205 206
206 content::WebContents* WebRtcTestBase::OpenPageAndAcceptUserMedia( 207 content::WebContents* WebRtcTestBase::OpenPageAndAcceptUserMedia(
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 } 331 }
331 332
332 void WebRtcTestBase::StartDetectingVideo( 333 void WebRtcTestBase::StartDetectingVideo(
333 content::WebContents* tab_contents, 334 content::WebContents* tab_contents,
334 const std::string& video_element) const { 335 const std::string& video_element) const {
335 std::string javascript = base::StringPrintf( 336 std::string javascript = base::StringPrintf(
336 "startDetection('%s', 320, 240)", video_element.c_str()); 337 "startDetection('%s', 320, 240)", video_element.c_str());
337 EXPECT_EQ("ok-started", ExecuteJavascript(javascript, tab_contents)); 338 EXPECT_EQ("ok-started", ExecuteJavascript(javascript, tab_contents));
338 } 339 }
339 340
340 void WebRtcTestBase::WaitForVideoToPlay( 341 bool WebRtcTestBase::WaitForVideoToPlay(
341 content::WebContents* tab_contents) const { 342 content::WebContents* tab_contents) const {
342 EXPECT_TRUE(test::PollingWaitUntil("isVideoPlaying()", "video-playing", 343 bool is_video_playing = test::PollingWaitUntil(
343 tab_contents)); 344 "isVideoPlaying()", "video-playing", tab_contents);
345 EXPECT_TRUE(is_video_playing);
346 return is_video_playing;
344 } 347 }
345 348
346 std::string WebRtcTestBase::GetStreamSize( 349 std::string WebRtcTestBase::GetStreamSize(
347 content::WebContents* tab_contents, 350 content::WebContents* tab_contents,
348 const std::string& video_element) const { 351 const std::string& video_element) const {
349 std::string javascript = 352 std::string javascript =
350 base::StringPrintf("getStreamSize('%s')", video_element.c_str()); 353 base::StringPrintf("getStreamSize('%s')", video_element.c_str());
351 std::string result = ExecuteJavascript(javascript, tab_contents); 354 std::string result = ExecuteJavascript(javascript, tab_contents);
352 EXPECT_TRUE(StartsWithASCII(result, "ok-", true)); 355 EXPECT_TRUE(StartsWithASCII(result, "ok-", true));
353 return result.substr(3); 356 return result.substr(3);
(...skipping 14 matching lines...) Expand all
368 #endif 371 #endif
369 } 372 }
370 373
371 bool WebRtcTestBase::OnWin8() const { 374 bool WebRtcTestBase::OnWin8() const {
372 #if defined(OS_WIN) 375 #if defined(OS_WIN)
373 return base::win::GetVersion() > base::win::VERSION_WIN7; 376 return base::win::GetVersion() > base::win::VERSION_WIN7;
374 #else 377 #else
375 return false; 378 return false;
376 #endif 379 #endif
377 } 380 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698