#include "chrome/browser/ui/tabs/tab_group_model.h"
#include <map>
#include <memory>
#include <optional>
#include <utility>
#include <vector>
#include "base/containers/contains.h"
#include "chrome/browser/ui/tabs/tab_group.h"
#include "chrome/browser/ui/tabs/tab_group_controller.h"
#include "components/tab_groups/tab_group_color.h"
#include "components/tab_groups/tab_group_id.h"
#include "components/tab_groups/tab_group_visual_data.h"
TabGroupModel::TabGroupModel(TabGroupController* controller)
: … { … }
TabGroupModel::~TabGroupModel() = default;
TabGroup* TabGroupModel::AddTabGroup(
const tab_groups::TabGroupId& id,
std::optional<tab_groups::TabGroupVisualData> visual_data) { … }
bool TabGroupModel::ContainsTabGroup(const tab_groups::TabGroupId& id) const { … }
TabGroup* TabGroupModel::GetTabGroup(const tab_groups::TabGroupId& id) const { … }
void TabGroupModel::RemoveTabGroup(const tab_groups::TabGroupId& id) { … }
std::vector<tab_groups::TabGroupId> TabGroupModel::ListTabGroups() const { … }
tab_groups::TabGroupColorId TabGroupModel::GetNextColor() const { … }