chromium/chrome/browser/ui/views/tabs/tab_strip_scroll_container.cc

// Copyright 2021 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/tabs/tab_strip_scroll_container.h"
#include <memory>

#include <memory>

#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "cc/paint/paint_shader.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/views/tabs/tab_strip.h"
#include "chrome/browser/ui/views/tabs/tab_strip_controller.h"
#include "chrome/browser/ui/views/tabs/tab_strip_scrolling_overflow_indicator_strategy.h"
#include "chrome/grit/generated_resources.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/gfx/canvas.h"
#include "ui/views/animation/ink_drop.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/scroll_view.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/layout/flex_layout_types.h"
#include "ui/views/layout/layout_types.h"
#include "ui/views/view.h"

namespace {
SkColor4f GetCurrentFrameColor(TabStrip* tab_strip) {}

SkColor4f GetShadowColor(TabStrip* tab_strip) {}

// Define a custom FlexRule for |scroll_view_|. Equivalent to using a
// (kScaleToMinimum, kPreferred) flex specification on the tabstrip itself,
// bypassing the ScrollView.
// TODO(crbug.com/40721975): Make ScrollView take on TabStrip's preferred size
// instead.
gfx::Size TabScrollContainerFlexRule(const views::View* tab_strip,
                                     const views::View* view,
                                     const views::SizeBounds& size_bounds) {}

std::unique_ptr<views::ImageButton> CreateScrollButton(
    views::Button::PressedCallback callback) {}

// Must be kept the same as kTabScrollingButtonPositionVariations values
enum ScrollButtonPositionType {};

}  // namespace

TabStripScrollContainer::TabStripScrollContainer(
    std::unique_ptr<TabStrip> tab_strip) {}

TabStripScrollContainer::~TabStripScrollContainer() = default;

void TabStripScrollContainer::OnViewPreferredSizeChanged(views::View* view) {}

void TabStripScrollContainer::OnContentsScrolledCallback() {}

int TabStripScrollContainer::GetTabStripAvailableWidth() const {}

void TabStripScrollContainer::ScrollTowardsLeadingTab() {}

void TabStripScrollContainer::ScrollTowardsTrailingTab() {}

void TabStripScrollContainer::FrameColorsChanged() {}

void TabStripScrollContainer::MaybeUpdateScrollButtonState() {}

bool TabStripScrollContainer::IsRectInWindowCaption(const gfx::Rect& rect) {}

void TabStripScrollContainer::OnThemeChanged() {}

void TabStripScrollContainer::AddedToWidget() {}

void TabStripScrollContainer::RemovedFromWidget() {}

BEGIN_METADATA()