#include "chrome/browser/ui/tabs/saved_tab_groups/session_service_tab_group_sync_observer.h"
#include <optional>
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sessions/session_service.h"
#include "chrome/browser/sessions/session_service_factory.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_keyed_service.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/tab_group_sync_service_proxy.h"
#include "chrome/browser/ui/tabs/tab_group.h"
#include "chrome/browser/ui/tabs/tab_group_model.h"
#include "components/saved_tab_groups/features.h"
#include "components/saved_tab_groups/types.h"
#include "components/sessions/core/session_id.h"
namespace tab_groups {
SessionServiceTabGroupSyncObserver::SessionServiceTabGroupSyncObserver(
Profile* profile,
TabStripModel* tab_strip_model,
SessionID session_id)
: … { … }
SessionServiceTabGroupSyncObserver::~SessionServiceTabGroupSyncObserver() { … }
void SessionServiceTabGroupSyncObserver::SavedTabGroupAddedLocally(
const base::Uuid& guid) { … }
void SessionServiceTabGroupSyncObserver::SavedTabGroupRemovedLocally(
const tab_groups::SavedTabGroup& removed_group) { … }
void SessionServiceTabGroupSyncObserver::OnTabGroupAdded(
const tab_groups::SavedTabGroup& group,
tab_groups::TriggerSource source) { … }
void SessionServiceTabGroupSyncObserver::OnTabGroupRemoved(
const tab_groups::LocalTabGroupID& local_id,
tab_groups::TriggerSource source) { … }
void SessionServiceTabGroupSyncObserver::OnTabGroupLocalIdChanged(
const base::Uuid& sync_id,
const std::optional<LocalTabGroupID>& local_id) { … }
void SessionServiceTabGroupSyncObserver::UpdateTabGroupSessionMetadata(
const std::optional<LocalTabGroupID> local_id,
const std::optional<std::string> sync_id) { … }
}