#include "chrome/browser/ui/profiles/profile_customization_synced_theme_waiter.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "base/memory/weak_ptr.h"
#include "base/task/sequenced_task_runner.h"
#include "base/time/time.h"
#include "chrome/browser/themes/theme_service.h"
#include "components/sync/base/user_selectable_type.h"
#include "components/sync/service/sync_service.h"
#include "components/sync/service/sync_user_settings.h"
ProfileCustomizationSyncedThemeWaiter::ProfileCustomizationSyncedThemeWaiter(
syncer::SyncService* sync_service,
ThemeService* theme_service,
base::OnceCallback<void(Outcome)> callback)
: … { … }
ProfileCustomizationSyncedThemeWaiter::
~ProfileCustomizationSyncedThemeWaiter() = default;
bool ProfileCustomizationSyncedThemeWaiter::CanThemeSyncStart(
syncer::SyncService* sync_service) { … }
void ProfileCustomizationSyncedThemeWaiter::Run() { … }
void ProfileCustomizationSyncedThemeWaiter::OnStateChanged(
syncer::SyncService* sync) { … }
void ProfileCustomizationSyncedThemeWaiter::OnThemeSyncStarted(
ThemeSyncableService::ThemeSyncState state) { … }
void ProfileCustomizationSyncedThemeWaiter::OnThemeChanged() { … }
void ProfileCustomizationSyncedThemeWaiter::OnTimeout() { … }
void ProfileCustomizationSyncedThemeWaiter::InvokeCallback(Outcome outcome) { … }
bool ProfileCustomizationSyncedThemeWaiter::CheckThemeSyncPreconditions() { … }