Chromium Code Reviews| Index: content/browser/webrtc/webrtc_getusermedia_browsertest.cc |
| diff --git a/content/browser/webrtc/webrtc_getusermedia_browsertest.cc b/content/browser/webrtc/webrtc_getusermedia_browsertest.cc |
| index 33e294510546c2c6512cf7824fdd871b3af6f8a6..9c8a7d3625d0551d85be50c440b33b4357d89776 100644 |
| --- a/content/browser/webrtc/webrtc_getusermedia_browsertest.cc |
| +++ b/content/browser/webrtc/webrtc_getusermedia_browsertest.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/json/json_reader.h" |
| #include "base/memory/ref_counted_memory.h" |
| #include "base/strings/stringprintf.h" |
| +#include "base/strings/utf_string_conversions.h" |
| #include "base/test/trace_event_analyzer.h" |
| #include "base/threading/thread_restrictions.h" |
| #include "base/trace_event/trace_event_impl.h" |
| @@ -23,6 +24,7 @@ |
| #include "content/public/test/content_browser_test_utils.h" |
| #include "content/public/test/test_utils.h" |
| #include "content/shell/browser/shell.h" |
| +#include "media/base/media_switches.h" |
| #include "net/test/embedded_test_server/embedded_test_server.h" |
| #include "testing/perf/perf_test.h" |
| @@ -50,6 +52,8 @@ static const char kRenderClonedTrackMediastreamAndStop[] = |
| "renderClonedTrackMediastreamAndStop"; |
| static const char kRenderDuplicatedMediastreamAndStop[] = |
| "renderDuplicatedMediastreamAndStop"; |
| +static const char kGetDepthStreamAndCallCreateImageBitmap[] = |
| + "getDepthStreamAndCallCreateImageBitmap"; |
| // Results returned by JS. |
| static const char kOK[] = "OK"; |
| @@ -95,6 +99,24 @@ bool VerifyDisableLocalEcho(bool expect_value, |
| return expect_value == controls.disable_local_echo; |
| } |
| +void RemoveSwitchFromCommandLine(base::CommandLine* command_line, |
| + const std::string& switch_value) { |
| + base::CommandLine::StringVector argv = command_line->argv(); |
| + const base::CommandLine::StringType switch_string = |
| +#if defined(OS_WIN) |
| + base::ASCIIToUTF16(switch_value); |
| +#else |
| + switch_value; |
| +#endif |
| + argv.erase(std::remove_if( |
| + argv.begin(), argv.end(), |
| + [switch_string](const base::CommandLine::StringType& value) { |
| + return value.find(switch_string) != std::string::npos; |
| + }), |
| + argv.end()); |
| + command_line->InitFromArgv(argv); |
| +} |
| + |
| } // namespace |
| namespace content { |
| @@ -107,6 +129,19 @@ class WebRtcGetUserMediaBrowserTest : public WebRtcContentBrowserTestBase { |
| } |
| ~WebRtcGetUserMediaBrowserTest() override {} |
| + void SetUpCommandLine(base::CommandLine* command_line) override { |
|
aleksandar.stojiljkovic
2016/10/30 11:08:39
avi@chromium.org,
This change came after LGTM when
|
| + // Test using two video capture devices - a color and a 16-bit depth device. |
| + // By default, command line argument is present with no value. We need to |
| + // remove it and then add the value defining two video capture devices. |
| + const std::string fake_device_switch = |
| + switches::kUseFakeDeviceForMediaStream; |
|
phoglund_chromium
2016/11/02 10:56:57
Well, your new test does appear to use getUserMedi
aleksandar.stojiljkovic
2016/11/02 13:46:44
Done.
Good idea - there are more tests coming and
|
| + ASSERT_TRUE(command_line->HasSwitch(fake_device_switch) && |
| + command_line->GetSwitchValueASCII(fake_device_switch).empty()); |
| + RemoveSwitchFromCommandLine(command_line, fake_device_switch); |
| + command_line->AppendSwitchASCII(fake_device_switch, "device-count=2"); |
| + WebRtcContentBrowserTestBase::SetUpCommandLine(command_line); |
| + } |
| + |
| void StartTracing() { |
| CHECK(trace_log_ == NULL) << "Can only can start tracing once"; |
| trace_log_ = base::trace_event::TraceLog::GetInstance(); |
| @@ -344,6 +379,17 @@ IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
| } |
| IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
| + GetDepthStreamAndCallCreateImageBitmap) { |
| + ASSERT_TRUE(embedded_test_server()->Start()); |
| + |
| + GURL url(embedded_test_server()->GetURL("/media/getusermedia.html")); |
| + NavigateToURL(shell(), url); |
| + |
| + ExecuteJavascriptAndWaitForOk(base::StringPrintf( |
| + "%s({video: true});", kGetDepthStreamAndCallCreateImageBitmap)); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(WebRtcGetUserMediaBrowserTest, |
| GetAudioAndVideoStreamAndStop) { |
| ASSERT_TRUE(embedded_test_server()->Start()); |