#include "chrome/browser/ui/views/tabs/tab_close_button.h"
#include <map>
#include <memory>
#include <vector>
#include "base/hash/hash.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/views/tabs/tab.h"
#include "chrome/browser/ui/views/tabs/tab_slot_controller.h"
#include "components/strings/grit/components_strings.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/pointer/touch_ui_controller.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "ui/gfx/image/image_skia_operations.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/gfx/vector_icon_types.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/controls/focus_ring.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/layout/layout_provider.h"
#include "ui/views/rect_based_targeting_utils.h"
#include "ui/views/view_class_properties.h"
#if defined(USE_AURA)
#include "ui/aura/env.h"
#endif
namespace {
constexpr int kIconSize = …;
constexpr gfx::Size kButtonSize = …;
}
TabCloseButton::TabCloseButton(PressedCallback pressed_callback,
MouseEventCallback mouse_event_callback)
: … { … }
TabCloseButton::~TabCloseButton() = default;
TabStyle::TabColors TabCloseButton::GetColors() const { … }
void TabCloseButton::SetColors(TabStyle::TabColors colors) { … }
views::View* TabCloseButton::GetTooltipHandlerForPoint(
const gfx::Point& point) { … }
bool TabCloseButton::OnMousePressed(const ui::MouseEvent& event) { … }
void TabCloseButton::OnMouseReleased(const ui::MouseEvent& event) { … }
void TabCloseButton::OnMouseMoved(const ui::MouseEvent& event) { … }
void TabCloseButton::OnGestureEvent(ui::GestureEvent* event) { … }
gfx::Size TabCloseButton::CalculatePreferredSize(
const views::SizeBounds& available_size) const { … }
views::View* TabCloseButton::TargetForRect(views::View* root,
const gfx::Rect& rect) { … }
bool TabCloseButton::GetHitTestMask(SkPath* mask) const { … }
void TabCloseButton::UpdateIcon() { … }
BEGIN_METADATA(…)