#include "chrome/browser/extensions/api/tab_groups/tab_groups_api.h"
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "base/strings/pattern.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/api/tab_groups/tab_groups_constants.h"
#include "chrome/browser/extensions/api/tab_groups/tab_groups_util.h"
#include "chrome/browser/extensions/api/tabs/tabs_constants.h"
#include "chrome/browser/extensions/api/tabs/windows_util.h"
#include "chrome/browser/extensions/browser_extension_window_controller.h"
#include "chrome/browser/extensions/chrome_extension_function_details.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_group.h"
#include "chrome/browser/ui/tabs/tab_group_model.h"
#include "chrome/browser/ui/tabs/tab_model.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/extensions/api/tab_groups.h"
#include "chrome/common/extensions/api/tabs.h"
#include "chrome/common/extensions/api/windows.h"
#include "chrome/common/extensions/extension_constants.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"
#include "ui/gfx/range/range.h"
TabModel;
namespace extensions {
namespace {
bool IndexSupportsGroupMove(TabStripModel* tab_strip,
int target_index,
std::string* error) { … }
}
ExtensionFunction::ResponseAction TabGroupsGetFunction::Run() { … }
ExtensionFunction::ResponseAction TabGroupsQueryFunction::Run() { … }
ExtensionFunction::ResponseAction TabGroupsUpdateFunction::Run() { … }
ExtensionFunction::ResponseAction TabGroupsMoveFunction::Run() { … }
bool TabGroupsMoveFunction::MoveGroup(int group_id,
int new_index,
const std::optional<int>& window_id,
tab_groups::TabGroupId* group,
std::string* error) { … }
}