#include "chrome/browser/ui/views/media_preview/media_view_controller_base.h"
#include <memory>
#include <optional>
#include <string>
#include "base/check.h"
#include "base/functional/bind.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/media_preview/media_view.h"
#include "chrome/grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/ui_base_features.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/border.h"
#include "ui/views/controls/combobox/combobox.h"
#include "ui/views/controls/label.h"
#include "ui/views/view_class_properties.h"
namespace {
constexpr int kRoundedRadius = …;
}
MediaViewControllerBase::MediaViewControllerBase(
MediaView& base_view,
bool needs_borders,
ui::ComboboxModel* model,
SourceChangeCallback source_change_callback,
const std::u16string& combobox_accessible_name,
const std::u16string& no_devices_found_combobox_text,
const std::u16string& no_devices_found_label_text,
bool allow_device_selection,
media_preview_metrics::Context metrics_context)
: … { … }
MediaViewControllerBase::~MediaViewControllerBase() { … }
void MediaViewControllerBase::OnDeviceListChanged(size_t device_count) { … }
void MediaViewControllerBase::OnComboboxSelection(bool due_to_user_action) { … }
void MediaViewControllerBase::UpdateDeviceNameLabel() { … }
void MediaViewControllerBase::AnnounceDynamicChangeIfNeeded(
std::u16string announcement) { … }
void MediaViewControllerBase::OnComboboxMenuWillShow() { … }