#include "chrome/browser/ui/webui/tab_strip/tab_strip_ui_util.h"
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.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/webui/tab_strip/tab_strip_ui.h"
#include "components/tab_groups/tab_group_id.h"
#include "content/public/browser/web_contents.h"
#include "ui/base/clipboard/clipboard_format_type.h"
#include "ui/base/clipboard/custom_data_helper.h"
#include "ui/base/dragdrop/os_exchange_data.h"
#include "ui/gfx/range/range.h"
namespace tab_strip_ui {
std::optional<tab_groups::TabGroupId> GetTabGroupIdFromString(
TabGroupModel* tab_group_model,
std::string group_id_string) { … }
Browser* GetBrowserWithGroupId(Profile* profile, std::string group_id_string) { … }
void MoveTabAcrossWindows(Browser* source_browser,
int from_index,
Browser* target_browser,
int to_index,
std::optional<tab_groups::TabGroupId> to_group_id) { … }
bool IsDraggedTab(const ui::OSExchangeData& drop_data) { … }
bool DropTabsInNewBrowser(Browser* new_browser,
const ui::OSExchangeData& drop_data) { … }
bool DropTabsInNewBrowser(Browser* new_browser,
const std::u16string& tab_id_str,
const std::u16string& group_id_str) { … }
bool ExtractTabData(const ui::OSExchangeData& drop_data,
std::u16string* tab_id_str,
std::u16string* group_id_str) { … }
}