#include "chrome/browser/ui/tabs/tab_strip_collection.h"
#include <cstddef>
#include <memory>
#include <optional>
#include "base/containers/adapters.h"
#include "chrome/browser/ui/tabs/pinned_tab_collection.h"
#include "chrome/browser/ui/tabs/tab_collection.h"
#include "chrome/browser/ui/tabs/tab_collection_storage.h"
#include "chrome/browser/ui/tabs/tab_group_tab_collection.h"
#include "chrome/browser/ui/tabs/tab_model.h"
#include "chrome/browser/ui/tabs/unpinned_tab_collection.h"
namespace tabs {
TabStripCollection::TabStripCollection() { … }
TabStripCollection::~TabStripCollection() = default;
size_t TabStripCollection::IndexOfFirstNonPinnedTab() const { … }
bool TabStripCollection::ContainsTab(TabModel* tab_model) const { … }
bool TabStripCollection::ContainsTabRecursive(TabModel* tab_model) const { … }
void TabStripCollection::AddTabRecursive(
std::unique_ptr<TabModel> tab_model,
size_t index,
std::optional<tab_groups::TabGroupId> new_group_id,
bool new_pinned_state) { … }
void TabStripCollection::MoveTabRecursive(
size_t initial_index,
size_t final_index,
std::optional<tab_groups::TabGroupId> new_group_id,
bool new_pinned_state) { … }
void TabStripCollection::MoveTabsRecursive(
const std::vector<int>& tab_indices,
size_t destination_index,
std::optional<tab_groups::TabGroupId> new_group_id,
bool new_pinned_state) { … }
void TabStripCollection::MoveGroupTo(const TabGroupModel* group_model,
const tab_groups::TabGroupId& group,
int to_index) { … }
tabs::TabModel* TabStripCollection::GetTabAtIndexRecursive(size_t index) const { … }
bool TabStripCollection::ContainsCollection(TabCollection* collection) const { … }
std::optional<size_t> TabStripCollection::GetIndexOfTabRecursive(
const TabModel* tab_model) const { … }
std::unique_ptr<TabModel> TabStripCollection::RemoveTabAtIndexRecursive(
size_t index) { … }
std::unique_ptr<TabModel> TabStripCollection::RemoveTabRecursive(
TabModel* tab,
bool close_empty_group_collection) { … }
std::optional<size_t> TabStripCollection::GetIndexOfCollection(
TabCollection* collection) const { … }
std::unique_ptr<TabModel> TabStripCollection::MaybeRemoveTab(
TabModel* tab_model) { … }
std::unique_ptr<TabCollection> TabStripCollection::MaybeRemoveCollection(
TabCollection* collection) { … }
size_t TabStripCollection::ChildCount() const { … }
size_t TabStripCollection::TabCountRecursive() const { … }
TabGroupTabCollection* TabStripCollection::MaybeCreateNewGroupCollectionForTab(
int index,
const tab_groups::TabGroupId& new_group) { … }
void TabStripCollection::MaybeRemoveGroupCollection(
const tab_groups::TabGroupId& group) { … }
void TabStripCollection::ValidateData(const TabGroupModel* group_model) { … }
}