#include "chrome/browser/sync/session_sync_service_factory.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/no_destructor.h"
#include "build/build_config.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/data_type_store_service_factory.h"
#include "chrome/browser/sync/device_info_sync_service_factory.h"
#include "chrome/browser/sync/glue/sync_start_util.h"
#include "chrome/browser/sync/sessions/sync_sessions_web_contents_router.h"
#include "chrome/browser/sync/sessions/sync_sessions_web_contents_router_factory.h"
#include "chrome/browser/ui/sync/browser_synced_window_delegates_getter.h"
#include "chrome/common/channel_info.h"
#include "chrome/common/url_constants.h"
#include "components/dom_distiller/core/url_constants.h"
#include "components/history/core/browser/history_service.h"
#include "components/sync/model/data_type_store_service.h"
#include "components/sync_device_info/device_info_sync_service.h"
#include "components/sync_device_info/device_info_tracker.h"
#include "components/sync_sessions/session_sync_prefs.h"
#include "components/sync_sessions/session_sync_service_impl.h"
#include "components/sync_sessions/sync_sessions_client.h"
#include "content/public/common/url_utils.h"
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/sync/glue/synced_window_delegates_getter_android.h"
#endif
namespace {
bool ShouldSyncURLImpl(const GURL& url) { … }
class SyncSessionsClientImpl final : public sync_sessions::SyncSessionsClient { … };
}
sync_sessions::SessionSyncService* SessionSyncServiceFactory::GetForProfile(
Profile* profile) { … }
SessionSyncServiceFactory* SessionSyncServiceFactory::GetInstance() { … }
bool SessionSyncServiceFactory::ShouldSyncURLForTestingAndMetrics(
const GURL& url) { … }
SessionSyncServiceFactory::SessionSyncServiceFactory()
: … { … }
SessionSyncServiceFactory::~SessionSyncServiceFactory() = default;
KeyedService* SessionSyncServiceFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const { … }