#include "chrome/browser/ui/tabs/saved_tab_groups/tab_group_sync_service_proxy.h"
#include <memory>
#include <optional>
#include <string>
#include <variant>
#include <vector>
#include "base/notimplemented.h"
#include "base/observer_list.h"
#include "chrome/browser/favicon/favicon_utils.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/browser/tab_group_sync/tab_group_sync_service_factory.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/tab_group_action_context_desktop.h"
#include "chrome/browser/ui/views/bookmarks/saved_tab_groups/saved_tab_group_everything_menu.h"
#include "components/saved_tab_groups/features.h"
#include "components/saved_tab_groups/saved_tab_group.h"
#include "components/saved_tab_groups/saved_tab_group_tab.h"
#include "components/saved_tab_groups/tab_group_sync_service.h"
#include "components/saved_tab_groups/tab_group_sync_service_impl.h"
#include "components/saved_tab_groups/types.h"
#include "components/sync/base/user_selectable_type.h"
#include "components/sync/service/sync_service.h"
#include "components/sync/service/sync_user_settings.h"
class Profile;
namespace tab_groups {
TabGroupSyncServiceProxy::TabGroupSyncServiceProxy(
SavedTabGroupKeyedService* service) { … }
TabGroupSyncServiceProxy::~TabGroupSyncServiceProxy() = default;
void TabGroupSyncServiceProxy::AddGroup(SavedTabGroup group) { … }
void TabGroupSyncServiceProxy::RemoveGroup(const LocalTabGroupID& local_id) { … }
void TabGroupSyncServiceProxy::RemoveGroup(const base::Uuid& sync_id) { … }
void TabGroupSyncServiceProxy::UpdateVisualData(
const LocalTabGroupID local_group_id,
const TabGroupVisualData* visual_data) { … }
void TabGroupSyncServiceProxy::UpdateGroupPosition(
const base::Uuid& sync_id,
std::optional<bool> is_pinned,
std::optional<int> new_index) { … }
void TabGroupSyncServiceProxy::AddTab(const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
const std::u16string& title,
GURL url,
std::optional<size_t> position) { … }
void TabGroupSyncServiceProxy::UpdateTab(
const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
const SavedTabGroupTabBuilder& tab_builder) { … }
void TabGroupSyncServiceProxy::SetFaviconForTab(
const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
std::optional<gfx::Image> favicon) { … }
void TabGroupSyncServiceProxy::RemoveTab(const LocalTabGroupID& group_id,
const LocalTabID& tab_id) { … }
void TabGroupSyncServiceProxy::MoveTab(const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
int new_group_index) { … }
void TabGroupSyncServiceProxy::OnTabSelected(const LocalTabGroupID& group_id,
const LocalTabID& tab_id) { … }
void TabGroupSyncServiceProxy::MakeTabGroupShared(
const LocalTabGroupID& local_group_id,
std::string_view collaboration_id) { … }
std::vector<SavedTabGroup> TabGroupSyncServiceProxy::GetAllGroups() { … }
std::optional<SavedTabGroup> TabGroupSyncServiceProxy::GetGroup(
const base::Uuid& guid) { … }
std::optional<SavedTabGroup> TabGroupSyncServiceProxy::GetGroup(
const LocalTabGroupID& local_id) { … }
std::vector<LocalTabGroupID> TabGroupSyncServiceProxy::GetDeletedGroupIds() { … }
void TabGroupSyncServiceProxy::OpenTabGroup(
const base::Uuid& sync_group_id,
std::unique_ptr<TabGroupActionContext> context) { … }
void TabGroupSyncServiceProxy::UpdateLocalTabGroupMapping(
const base::Uuid& sync_id,
const LocalTabGroupID& local_id) { … }
void TabGroupSyncServiceProxy::RemoveLocalTabGroupMapping(
const LocalTabGroupID& local_id) { … }
void TabGroupSyncServiceProxy::UpdateLocalTabId(
const LocalTabGroupID& local_group_id,
const base::Uuid& sync_tab_id,
const LocalTabID& local_tab_id) { … }
void TabGroupSyncServiceProxy::ConnectLocalTabGroup(
const base::Uuid& sync_id,
const LocalTabGroupID& local_id) { … }
bool TabGroupSyncServiceProxy::IsRemoteDevice(
const std::optional<std::string>& cache_guid) const { … }
void TabGroupSyncServiceProxy::RecordTabGroupEvent(
const EventDetails& event_details) { … }
base::WeakPtr<syncer::DataTypeControllerDelegate>
TabGroupSyncServiceProxy::GetSavedTabGroupControllerDelegate() { … }
base::WeakPtr<syncer::DataTypeControllerDelegate>
TabGroupSyncServiceProxy::GetSharedTabGroupControllerDelegate() { … }
std::unique_ptr<ScopedLocalObservationPauser>
TabGroupSyncServiceProxy::CreateScopedLocalObserverPauser() { … }
void TabGroupSyncServiceProxy::AddObserver(Observer* observer) { … }
void TabGroupSyncServiceProxy::RemoveObserver(Observer* observer) { … }
void TabGroupSyncServiceProxy::SetIsInitializedForTesting(bool initialized) { … }
void TabGroupSyncServiceProxy::AddSavedTabGroupModelObserver(
SavedTabGroupModelObserver* saved_tab_group_model_observer) { … }
void TabGroupSyncServiceProxy::RemoveSavedTabGroupModelObserver(
SavedTabGroupModelObserver* saved_tab_group_model_observer) { … }
void TabGroupSyncServiceProxy::OnTabAddedToGroupLocally(
const base::Uuid& group_guid) { … }
void TabGroupSyncServiceProxy::OnTabRemovedFromGroupLocally(
const base::Uuid& group_guid,
const base::Uuid& tab_guid) { … }
void TabGroupSyncServiceProxy::OnTabNavigatedLocally(
const base::Uuid& group_guid,
const base::Uuid& tab_guid) { … }
void TabGroupSyncServiceProxy::OnTabsReorderedLocally(
const base::Uuid& group_guid) { … }
void TabGroupSyncServiceProxy::OnTabGroupVisualsChanged(
const base::Uuid& group_guid) { … }
}