chromium/chrome/browser/media/webrtc/webrtc_webcam_browsertest.cc

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/command_line.h"
#include "build/build_config.h"
#include "chrome/browser/media/webrtc/webrtc_browsertest_base.h"
#include "chrome/browser/media/webrtc/webrtc_browsertest_common.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "media/base/media_switches.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "testing/gtest/include/gtest/gtest-param-test.h"

static const char kMainWebrtcTestHtmlPage[] =;

enum class TargetVideoCaptureImplementation {};

const TargetVideoCaptureImplementation kTargetVideoCaptureImplementations[] =;

// These tests runs on real webcams and ensure WebRTC can acquire webcams
// correctly. They will do nothing if there are no webcams on the system.
// The webcam on the system must support up to 1080p, or the test will fail.
// This test is excellent for testing the various capture paths of WebRTC
// on all desktop platforms.
class WebRtcWebcamBrowserTest
    : public WebRtcTestBase,
      public testing::WithParamInterface<TargetVideoCaptureImplementation> {};

// This test is manual because the test results can vary heavily depending on
// which webcam or drivers you have on the system.
IN_PROC_BROWSER_TEST_P(WebRtcWebcamBrowserTest,
                       MANUAL_TestAcquiringAndReacquiringWebcam) {}

INSTANTIATE_TEST_SUITE_P();