chromium/content/browser/webrtc/webrtc_stress_image_capture_browsertest.cc

// Copyright 2018 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 "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "content/browser/webrtc/webrtc_webcam_browsertest.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 "content/public/test/content_browser_test.h"
#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 "media/capture/video/fake_video_capture_device_factory.h"
#include "net/test/embedded_test_server/embedded_test_server.h"

#if BUILDFLAG(IS_ANDROID)
#include "base/android/build_info.h"
#endif

namespace content {

namespace {

static const char kImageCaptureStressHtmlFile[] =;

enum class TargetVideoCaptureImplementation {};

}  // namespace

class WebRtcImageCaptureStressBrowserTest
    : public UsingRealWebcam_WebRtcWebcamBrowserTest,
      public testing::WithParamInterface<TargetVideoCaptureImplementation> {};

// Tests on real webcam can only run on platforms for which the image capture
// API has already been implemented.
// Note, these tests must be run sequentially, since multiple parallel test runs
// competing for a single physical webcam typically causes failures.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
    BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)

IN_PROC_BROWSER_TEST_P(WebRtcImageCaptureStressBrowserTest,
                       MANUAL_Take10Photos) {}

const TargetVideoCaptureImplementation
    kTargetVideoCaptureImplementationsForRealWebcam[] =;

INSTANTIATE_TEST_SUITE_P();
#endif

}  // namespace content