chromium/chrome/browser/themes/theme_syncable_service.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_THEMES_THEME_SYNCABLE_SERVICE_H_
#define CHROME_BROWSER_THEMES_THEME_SYNCABLE_SERVICE_H_

#include <memory>

#include "base/gtest_prod_util.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "base/observer_list_types.h"
#include "base/threading/thread_checker.h"
#include "chrome/browser/themes/theme_service_observer.h"
#include "components/sync/model/sync_change.h"
#include "components/sync/model/sync_data.h"
#include "components/sync/model/syncable_service.h"

class PrefService;
class Profile;
class ThemeService;
class ThemeSyncableServiceTest;

namespace sync_pb {
class ThemeSpecifics;
}

enum class ThemePrefInMigration {};

std::string_view GetThemePrefNameInMigration(ThemePrefInMigration theme_pref);
void MigrateSyncingThemePrefsToNonSyncingIfNeeded(PrefService* prefs);

class ThemeSyncableService final : public syncer::SyncableService,
                                   public ThemeServiceObserver {};

#endif  // CHROME_BROWSER_THEMES_THEME_SYNCABLE_SERVICE_H_