chromium/chrome/browser/ui/views/performance_controls/tab_list_row_view.cc

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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 {
// Spacing placed on top and below the favicon so that the favicon border
// won't touch the edge of the TabListRowView.
constexpr int kFaviconVerticalMargin =;
// Corner radius for the favicon image view.
constexpr int kFaviconCornerRadius =;
// Border thickness surrounding the favicon.
constexpr int kFaviconBorderThickness =;
// Spacing between the favicon and tab title.
constexpr int kFaviconTabTitleSpacing =;

std::unique_ptr<views::Label> CreateLabel(std::u16string text, int text_style) {}
}  // namespace

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()