#include "chrome/browser/ui/views/media_router/cast_dialog_sink_button.h"
#include <memory>
#include <utility>
#include "base/debug/stack_trace.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_navigator_params.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/media_router/ui_media_sink.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/chrome_typography.h"
#include "chrome/browser/ui/views/media_router/cast_dialog_helper.h"
#include "chrome/grit/generated_resources.h"
#include "components/media_router/common/issue.h"
#include "components/media_router/common/mojom/media_router.mojom.h"
#include "components/strings/grit/components_strings.h"
#include "components/vector_icons/vector_icons.h"
#include "content/public/browser/browser_thread.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/ui_base_types.h"
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/border.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/controls/throbber.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/vector_icons.h"
namespace media_router {
namespace {
ui::ImageModel CreateSinkIcon(SinkIconType icon_type, bool enabled = true) { … }
ui::ImageModel CreateDisabledSinkIcon(SinkIconType icon_type) { … }
std::unique_ptr<views::ImageView> CreatePrimaryIconView(
const ui::ImageModel& image) { … }
std::unique_ptr<views::View> CreatePrimaryIconForSink(const UIMediaSink& sink) { … }
bool IsIncompatibleDialSink(const UIMediaSink& sink) { … }
}
CastDialogSinkButton::CastDialogSinkButton(PressedCallback callback,
const UIMediaSink& sink)
: … { … }
CastDialogSinkButton::~CastDialogSinkButton() = default;
void CastDialogSinkButton::OverrideStatusText(
const std::u16string& status_text) { … }
void CastDialogSinkButton::RestoreStatusText() { … }
bool CastDialogSinkButton::OnMousePressed(const ui::MouseEvent& event) { … }
void CastDialogSinkButton::OnMouseReleased(const ui::MouseEvent& event) { … }
void CastDialogSinkButton::OnEnabledChanged() { … }
void CastDialogSinkButton::UpdateTitleTextStyle() { … }
void CastDialogSinkButton::RequestFocus() { … }
void CastDialogSinkButton::OnFocus() { … }
void CastDialogSinkButton::OnBlur() { … }
void CastDialogSinkButton::OnThemeChanged() { … }
const gfx::VectorIcon* CastDialogSinkButton::GetVectorIcon(
SinkIconType icon_type) { … }
const gfx::VectorIcon* CastDialogSinkButton::GetVectorIcon(UIMediaSink sink) { … }
BEGIN_METADATA(…)
}