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()); |