#include "chrome/browser/ui/views/media_preview/camera_preview/camera_coordinator.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "chrome/browser/media/prefs/capture_device_ranking.h"
#include "chrome/browser/ui/views/media_preview/camera_preview/camera_mediator.h"
#include "chrome/browser/ui/views/media_preview/media_view.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/video_capture/public/mojom/video_source.mojom.h"
CameraCoordinator::CameraCoordinator(
views::View& parent_view,
bool needs_borders,
const std::vector<std::string>& eligible_camera_ids,
PrefService& prefs,
bool allow_device_selection,
const media_preview_metrics::Context& metrics_context)
: … { … }
CameraCoordinator::~CameraCoordinator() { … }
void CameraCoordinator::OnVideoSourceInfosReceived(
const std::vector<media::VideoCaptureDeviceInfo>& device_infos) { … }
void CameraCoordinator::OnVideoSourceChanged(
std::optional<size_t> selected_index) { … }
void CameraCoordinator::OnPermissionChange(bool has_permission) { … }
void CameraCoordinator::UpdateDevicePreferenceRanking() { … }
void CameraCoordinator::ResetViewController() { … }