#include "chrome/browser/ui/views/media_preview/active_devices_media_coordinator.h"
#include <optional>
#include <string>
#include "base/test/metrics/histogram_tester.h"
#include "base/test/test_future.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/media_preview/media_view.h"
#include "chrome/test/base/testing_profile.h"
#include "components/media_effects/test/fake_audio_service.h"
#include "components/media_effects/test/fake_video_capture_service.h"
#include "content/public/browser/audio_service.h"
#include "content/public/browser/background_tracing_manager.h"
#include "content/public/browser/video_capture_service.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/test_renderer_host.h"
#include "content/public/test/web_contents_tester.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
constexpr char kMutableCoordinatorId[] = …;
constexpr char kDevice1Id[] = …;
constexpr char kDevice2Id[] = …;
blink::mojom::MediaStreamType ViewTypeToMediaStreamType(
MediaCoordinator::ViewType view_type) { … }
std::string ViewTypeToNumDevicesHistogramName(
MediaCoordinator::ViewType view_type) { … }
media_preview_metrics::Context GetMetricsContext(
MediaCoordinator::ViewType type) { … }
}
class ActiveDevicesMediaCoordinatorTestParameterized
: public testing::TestWithParam<MediaCoordinator::ViewType>,
views::ViewObserver { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(ActiveDevicesMediaCoordinatorTestParameterized, DefaultToMutable) { … }
TEST_P(ActiveDevicesMediaCoordinatorTestParameterized, AddsActiveDevices) { … }
TEST_P(ActiveDevicesMediaCoordinatorTestParameterized,
NoChangeForIgnoredMediaRequestStates) { … }
TEST_P(ActiveDevicesMediaCoordinatorTestParameterized,
NoChangeForRequestStateChangeInDifferentFrame) { … }