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

Unified Diff: content/browser/webrtc/webrtc_depth_capture_browsertest.cc

Issue 2428263004: 16 bpp video stream capture, render and createImageBitmap(video) using (CPU) shared memory buffers (Closed)
Patch Set: Split webrtc_depth_capture_browsertest. Thanks phoglund@, Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/webrtc/webrtc_depth_capture_browsertest.cc
diff --git a/content/browser/webrtc/webrtc_depth_capture_browsertest.cc b/content/browser/webrtc/webrtc_depth_capture_browsertest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4d881801d29a4f3e78e05ab06197b6e22c9b00a5
--- /dev/null
+++ b/content/browser/webrtc/webrtc_depth_capture_browsertest.cc
@@ -0,0 +1,77 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stddef.h>
+
+#include "base/command_line.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "content/browser/webrtc/webrtc_content_browsertest_base.h"
+#include "content/public/common/content_switches.h"
+#include "content/public/test/content_browser_test_utils.h"
+#include "media/base/media_switches.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
+
+namespace {
+
+static const char kGetDepthStreamAndCallCreateImageBitmap[] =
+ "getDepthStreamAndCallCreateImageBitmap";
+
+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 {
+
+class WebRtcDepthCaptureBrowserTest : public WebRtcContentBrowserTestBase {
+ public:
+ WebRtcDepthCaptureBrowserTest() {
+ // Automatically grant device permission.
+ AppendUseFakeUIForMediaStreamFlag();
+ }
+ ~WebRtcDepthCaptureBrowserTest() override {}
+
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ // 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;
+ 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);
+ }
+};
+
+IN_PROC_BROWSER_TEST_F(WebRtcDepthCaptureBrowserTest,
+ GetDepthStreamAndCallCreateImageBitmap) {
+ ASSERT_TRUE(embedded_test_server()->Start());
+
+ GURL url(
+ embedded_test_server()->GetURL("/media/getusermedia-depth-capture.html"));
+ NavigateToURL(shell(), url);
+
+ ExecuteJavascriptAndWaitForOk(base::StringPrintf(
+ "%s({video: true});", kGetDepthStreamAndCallCreateImageBitmap));
+}
+
+} // namespace content

Powered by Google App Engine
This is Rietveld 408576698