#include "chrome/browser/media/webrtc/media_stream_capture_indicator.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/test/bind.h"
#include "chrome/browser/media/webrtc/desktop_capture_devices_util.h"
#include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "content/public/test/web_contents_tester.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/tokens/tokens.h"
#include "third_party/blink/public/mojom/mediastream/media_stream.mojom-shared.h"
#include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h"
namespace {
class LenientMockObserver : public MediaStreamCaptureIndicator::Observer { … };
MockObserver;
MockObserverSetExpectationsMethod;
MockObserverStreamTypeSetExpectationsMethod;
AccessorMethod;
class MediaStreamCaptureIndicatorTest : public ChromeRenderViewHostTestHarness { … };
struct ObserverMethodTestParam { … };
ObserverMethodTestParam kObserverMethodTestParams[] = …;
class MediaStreamCaptureIndicatorObserverMethodTest
: public MediaStreamCaptureIndicatorTest,
public testing::WithParamInterface<ObserverMethodTestParam> { … };
blink::mojom::StreamDevices CreateFakeDevice(
const ObserverMethodTestParam& param) { … }
struct StreamTypeTestParam { … };
StreamTypeTestParam kStreamTypeTestParams[] = …;
class MediaStreamCaptureIndicatorStreamTypeTest
: public MediaStreamCaptureIndicatorTest,
public testing::WithParamInterface<StreamTypeTestParam> { … };
}
TEST_P(MediaStreamCaptureIndicatorObserverMethodTest, AddAndRemoveDevice) { … }
TEST_P(MediaStreamCaptureIndicatorObserverMethodTest,
DISABLED_StopMediaCapturing) { … }
TEST_P(MediaStreamCaptureIndicatorObserverMethodTest, CloseActiveWebContents) { … }
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(MediaStreamCaptureIndicatorStreamTypeTest,
CheckIsDeviceCapturingDisplay) { … }
INSTANTIATE_TEST_SUITE_P(…);