#include "chrome/browser/ui/views/performance_controls/tab_list_row_view.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_forward.h"
#include "base/strings/strcat.h"
#include "base/time/time.h"
#include "chrome/browser/ui/performance_controls/tab_list_model.h"
#include "chrome/browser/ui/tab_ui_helper.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/grit/generated_resources.h"
#include "components/performance_manager/public/resource_attribution/page_context.h"
#include "components/strings/grit/components_strings.h"
#include "components/url_formatter/url_formatter.h"
#include "components/vector_icons/vector_icons.h"
#include "content/public/browser/web_contents.h"
#include "ui/accessibility/ax_enums.mojom-shared.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/color/color_id.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/animation/ink_drop_host.h"
#include "ui/views/background.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/layout/layout_provider.h"
#include "ui/views/layout/layout_types.h"
#include "ui/views/style/platform_style.h"
#include "ui/views/style/typography.h"
#include "ui/views/vector_icons.h"
#include "ui/views/view.h"
#include "ui/views/view_class_properties.h"
#include "url/gurl.h"
namespace {
constexpr int kFaviconVerticalMargin = …;
constexpr int kFaviconCornerRadius = …;
constexpr int kFaviconBorderThickness = …;
constexpr int kFaviconTabTitleSpacing = …;
std::unique_ptr<views::Label> CreateLabel(std::u16string text, int text_style) { … }
}
class TextContainer : public views::View { … };
BEGIN_METADATA(…)
TabListRowView::TabListRowView(
resource_attribution::PageContext tab,
TabListModel* tab_list_model,
base::OnceCallback<void(TabListRowView*)> close_button_callback)
: … { … }
TabListRowView::~TabListRowView() { … }
std::u16string TabListRowView::GetTitleTextForTesting() { … }
views::ImageButton* TabListRowView::GetCloseButtonForTesting() { … }
views::View* TabListRowView::GetTextContainerForTesting() { … }
void TabListRowView::OnMouseEntered(const ui::MouseEvent& event) { … }
void TabListRowView::OnMouseExited(const ui::MouseEvent& event) { … }
void TabListRowView::AddLayerToRegion(ui::Layer* layer,
views::LayerRegion region) { … }
void TabListRowView::RemoveLayerFromRegions(ui::Layer* layer) { … }
void TabListRowView::AddedToWidget() { … }
void TabListRowView::RemovedFromWidget() { … }
void TabListRowView::OnDidChangeFocus(views::View* before, views::View* now) { … }
void TabListRowView::OnTabCountChanged(int count) { … }
void TabListRowView::RefreshInkDropAndCloseButton() { … }
void TabListRowView::MaybeFocusCloseButton() { … }
BEGIN_METADATA(…)