#include "chrome/browser/ui/tabs/unpinned_tab_collection.h"
#include <cstddef>
#include <memory>
#include <optional>
#include "base/not_fatal_until.h"
#include "base/notreached.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"
namespace tabs {
UnpinnedTabCollection::UnpinnedTabCollection() { … }
UnpinnedTabCollection::~UnpinnedTabCollection() = default;
void UnpinnedTabCollection::AddTab(std::unique_ptr<TabModel> tab_model,
size_t direct_child_index) { … }
void UnpinnedTabCollection::AddTabRecursive(
std::unique_ptr<TabModel> tab_model,
size_t dst_index,
std::optional<tab_groups::TabGroupId> new_group_id) { … }
tabs::TabModel* UnpinnedTabCollection::GetTabAtIndexRecursive(size_t index) { … }
void UnpinnedTabCollection::AppendTab(std::unique_ptr<TabModel> tab_model) { … }
void UnpinnedTabCollection::MoveTab(TabModel* tab_model,
size_t direct_child_dst_index) { … }
void UnpinnedTabCollection::CloseTab(TabModel* tab_model) { … }
std::optional<size_t>
UnpinnedTabCollection::GetDirectChildIndexOfCollectionContainingTab(
const TabModel* tab_model) const { … }
bool UnpinnedTabCollection::ContainsTab(TabModel* tab_model) const { … }
bool UnpinnedTabCollection::ContainsTabRecursive(TabModel* tab_model) const { … }
bool UnpinnedTabCollection::ContainsCollection(
TabCollection* collection) const { … }
std::optional<size_t> UnpinnedTabCollection::GetIndexOfTabRecursive(
const TabModel* tab_model) const { … }
std::optional<size_t> UnpinnedTabCollection::GetIndexOfCollection(
TabCollection* collection) const { … }
std::unique_ptr<TabModel> UnpinnedTabCollection::MaybeRemoveTab(
TabModel* tab_model) { … }
size_t UnpinnedTabCollection::ChildCount() const { … }
size_t UnpinnedTabCollection::TabCountRecursive() const { … }
std::unique_ptr<TabCollection> UnpinnedTabCollection::MaybeRemoveCollection(
TabCollection* collection) { … }
TabGroupTabCollection* UnpinnedTabCollection::AddTabGroup(
std::unique_ptr<TabGroupTabCollection> group,
size_t index) { … }
void UnpinnedTabCollection::MoveTabGroup(TabGroupTabCollection* group,
size_t direct_child_dst_index) { … }
void UnpinnedTabCollection::CloseTabGroup(TabGroupTabCollection* group) { … }
std::unique_ptr<TabGroupTabCollection> UnpinnedTabCollection::RemoveGroup(
TabGroupTabCollection* group) { … }
TabGroupTabCollection* UnpinnedTabCollection::GetTabGroupCollection(
tab_groups::TabGroupId group_id_) { … }
std::optional<size_t> UnpinnedTabCollection::GetIndexOfTab(
const TabModel* tab_model) const { … }
void UnpinnedTabCollection::MoveGroupToRecursive(
int index,
TabGroupTabCollection* collection) { … }
void UnpinnedTabCollection::ValidateCollections() const { … }
}