#include "chrome/browser/ui/views/tabs/tab_strip_layout.h"
#include <stddef.h>
#include <algorithm>
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/tabs/tab_style.h"
#include "ui/gfx/animation/tween.h"
#include "ui/gfx/geometry/rect.h"
namespace {
TabSizer CalculateSpaceFractionAvailable(
const TabLayoutConstants& layout_constants,
const std::vector<TabWidthConstraints>& tabs,
std::optional<int> width) { … }
}
TabSizer::TabSizer(LayoutDomain domain, float space_fraction_available)
: … { … }
int TabSizer::CalculateTabWidth(const TabWidthConstraints& tab) const { … }
bool TabSizer::TabAcceptsExtraSpace(const TabWidthConstraints& tab) const { … }
bool TabSizer::IsAlreadyPreferredWidth() const { … }
void AllocateExtraSpace(std::vector<gfx::Rect>* bounds,
const std::vector<TabWidthConstraints>& tabs,
std::optional<int> extra_space,
TabSizer tab_sizer) { … }
std::vector<gfx::Rect> CalculateTabBounds(
const TabLayoutConstants& layout_constants,
const std::vector<TabWidthConstraints>& tabs,
std::optional<int> width) { … }