#include "chrome/browser/ui/views/tabs/overflow_view.h"
#include <algorithm>
#include <memory>
#include <optional>
#include <utility>
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/views/layout/flex_layout_types.h"
#include "ui/views/layout/layout_types.h"
#include "ui/views/layout/normalized_geometry.h"
#include "ui/views/view_class_properties.h"
namespace {
std::optional<gfx::Size> GetSizeFromFlexRule(const views::View* view,
const views::SizeBounds& bounds) { … }
gfx::Size GetSizeFromFlexRuleOrDefault(const views::View* view,
const gfx::Size& bounds) { … }
}
OverflowView::OverflowView(std::unique_ptr<views::View> primary_view,
std::unique_ptr<views::View> postfix_indicator_view)
: … { … }
OverflowView::OverflowView(
std::unique_ptr<views::View> primary_view,
std::unique_ptr<views::View> prefix_indicator_view,
std::unique_ptr<views::View> postfix_indicator_view) { … }
OverflowView::~OverflowView() = default;
void OverflowView::SetOrientation(views::LayoutOrientation orientation) { … }
void OverflowView::SetCrossAxisAlignment(
views::LayoutAlignment cross_axis_alignment) { … }
void OverflowView::Layout(PassKey) { … }
views::SizeBounds OverflowView::GetAvailableSize(
const views::View* child) const { … }
gfx::Size OverflowView::GetMinimumSize() const { … }
gfx::Size OverflowView::CalculatePreferredSize(
const views::SizeBounds& available_size) const { … }
BEGIN_METADATA(…)