#include "chrome/browser/ui/views/tabs/tab_group_views.h"
#include <tuple>
#include <utility>
#include "base/memory/raw_ptr.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
#include "chrome/browser/ui/views/tabs/tab_group_header.h"
#include "chrome/browser/ui/views/tabs/tab_group_highlight.h"
#include "chrome/browser/ui/views/tabs/tab_group_style.h"
#include "chrome/browser/ui/views/tabs/tab_group_underline.h"
#include "chrome/browser/ui/views/tabs/tab_slot_controller.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_types.h"
#include "components/tab_groups/tab_group_color.h"
#include "components/tab_groups/tab_group_id.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/views/view_utils.h"
TabGroupViews::TabGroupViews(views::View* container_view,
views::View* drag_container_view,
TabSlotController& tab_slot_controller,
const tab_groups::TabGroupId& group)
: … { … }
TabGroupViews::~TabGroupViews() { … }
void TabGroupViews::UpdateBounds() { … }
void TabGroupViews::OnGroupVisualsChanged() { … }
gfx::Rect TabGroupViews::GetBounds() const { … }
SkColor TabGroupViews::GetGroupColor() const { … }
bool TabGroupViews::InTearDown() const { … }
std::tuple<const views::View*, const views::View*>
TabGroupViews::GetLeadingTrailingGroupViews() const { … }
std::tuple<views::View*, views::View*>
TabGroupViews::GetLeadingTrailingDraggedGroupViews() const { … }
std::tuple<views::View*, views::View*>
TabGroupViews::GetLeadingTrailingGroupViews(
std::vector<raw_ptr<views::View, VectorExperimental>> children) const { … }