#include "chrome/browser/ui/views/global_media_controls/media_item_ui_footer_view.h"
#include <utility>
#include "base/memory/raw_ptr.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/global_media_controls/media_notification_device_entry_ui.h"
#include "chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h"
#include "chrome/grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/flex_layout.h"
namespace {
constexpr int kEntryMaxWidth = …;
constexpr int kDeviceIconSize = …;
class DeviceEntryButton : public views::LabelButton { … };
DeviceEntryButton::DeviceEntryButton(PressedCallback callback,
const gfx::VectorIcon* icon,
const std::u16string& text)
: … { … }
void DeviceEntryButton::UpdateColor(SkColor foreground_color) { … }
void DeviceEntryButton::SetIcon(const gfx::VectorIcon* icon) { … }
SkColor DeviceEntryButton::GetForegroundColor() const { … }
void DeviceEntryButton::UpdateImage() { … }
BEGIN_METADATA(…)
}
MediaItemUIFooterView::MediaItemUIFooterView(
base::RepeatingClosure stop_casting_callback) { … }
MediaItemUIFooterView::~MediaItemUIFooterView() = default;
void MediaItemUIFooterView::OnMediaItemUIDeviceSelectorUpdated(
const std::map<int, DeviceEntryUI*>& device_entries_map) { … }
void MediaItemUIFooterView::Layout(PassKey) { … }
void MediaItemUIFooterView::OnColorsChanged(SkColor foreground,
SkColor background) { … }
void MediaItemUIFooterView::SetDelegate(Delegate* delegate) { … }
void MediaItemUIFooterView::UpdateButtonsColor() { … }
void MediaItemUIFooterView::OnDeviceSelected(int tag) { … }
void MediaItemUIFooterView::OnOverflowButtonClicked() { … }
BEGIN_METADATA(…)