#include "components/saved_tab_groups/fake_tab_group_sync_service.h"
#include <algorithm>
#include <cstddef>
#include <memory>
#include <optional>
#include <vector>
#include "base/memory/weak_ptr.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"
namespace {
tab_groups::SavedTabGroup CreateGroup(std::u16string title) { … }
}
namespace tab_groups {
FakeTabGroupSyncService::FakeTabGroupSyncService() = default;
FakeTabGroupSyncService::~FakeTabGroupSyncService() = default;
void FakeTabGroupSyncService::AddGroup(SavedTabGroup group) { … }
void FakeTabGroupSyncService::RemoveGroup(const LocalTabGroupID& local_id) { … }
void FakeTabGroupSyncService::RemoveGroup(const base::Uuid& sync_id) { … }
void FakeTabGroupSyncService::UpdateVisualData(
const LocalTabGroupID local_group_id,
const tab_groups::TabGroupVisualData* visual_data) { … }
void FakeTabGroupSyncService::UpdateGroupPosition(
const base::Uuid& sync_id,
std::optional<bool> is_pinned,
std::optional<int> new_index) { … }
void FakeTabGroupSyncService::AddTab(const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
const std::u16string& title,
GURL url,
std::optional<size_t> position) { … }
void FakeTabGroupSyncService::UpdateTab(
const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
const SavedTabGroupTabBuilder& tab_builder) { … }
void FakeTabGroupSyncService::RemoveTab(const LocalTabGroupID& group_id,
const LocalTabID& tab_id) { … }
void FakeTabGroupSyncService::MoveTab(const LocalTabGroupID& group_id,
const LocalTabID& tab_id,
int new_group_index) { … }
void FakeTabGroupSyncService::OnTabSelected(const LocalTabGroupID& group_id,
const LocalTabID& tab_id) { … }
void FakeTabGroupSyncService::MakeTabGroupShared(
const LocalTabGroupID& local_group_id,
std::string_view collaboration_id) { … }
std::vector<SavedTabGroup> FakeTabGroupSyncService::GetAllGroups() { … }
std::optional<SavedTabGroup> FakeTabGroupSyncService::GetGroup(
const base::Uuid& guid) { … }
std::optional<SavedTabGroup> FakeTabGroupSyncService::GetGroup(
const LocalTabGroupID& local_id) { … }
std::vector<LocalTabGroupID> FakeTabGroupSyncService::GetDeletedGroupIds() { … }
void FakeTabGroupSyncService::OpenTabGroup(
const base::Uuid& sync_group_id,
std::unique_ptr<TabGroupActionContext> context) { … }
void FakeTabGroupSyncService::UpdateLocalTabGroupMapping(
const base::Uuid& sync_id,
const LocalTabGroupID& local_id) { … }
void FakeTabGroupSyncService::RemoveLocalTabGroupMapping(
const LocalTabGroupID& local_id) { … }
void FakeTabGroupSyncService::UpdateLocalTabId(
const LocalTabGroupID& local_group_id,
const base::Uuid& sync_tab_id,
const LocalTabID& local_tab_id) { … }
void FakeTabGroupSyncService::ConnectLocalTabGroup(
const base::Uuid& sync_id,
const LocalTabGroupID& local_id) { … }
bool FakeTabGroupSyncService::IsRemoteDevice(
const std::optional<std::string>& cache_guid) const { … }
void FakeTabGroupSyncService::RecordTabGroupEvent(
const EventDetails& event_details) { … }
base::WeakPtr<syncer::DataTypeControllerDelegate>
FakeTabGroupSyncService::GetSavedTabGroupControllerDelegate() { … }
base::WeakPtr<syncer::DataTypeControllerDelegate>
FakeTabGroupSyncService::GetSharedTabGroupControllerDelegate() { … }
std::unique_ptr<ScopedLocalObservationPauser>
FakeTabGroupSyncService::CreateScopedLocalObserverPauser() { … }
void FakeTabGroupSyncService::AddObserver(Observer* observer) { … }
void FakeTabGroupSyncService::RemoveObserver(Observer* observer) { … }
void FakeTabGroupSyncService::SetCoordinator(
std::unique_ptr<TabGroupSyncCoordinator> coordinator) { … }
void FakeTabGroupSyncService::PrepareFakeSavedTabGroups() { … }
void FakeTabGroupSyncService::ClearGroups() { … }
std::optional<int> FakeTabGroupSyncService::GetIndexOf(const base::Uuid& guid) { … }
std::optional<int> FakeTabGroupSyncService::GetIndexOf(
const LocalTabGroupID& local_id) { … }
void FakeTabGroupSyncService::NotifyObserversOfTabGroupUpdated(
SavedTabGroup& group) { … }
}