chromium/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc

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

#include "chrome/browser/sync/prefs/chrome_syncable_prefs_database.h"

#include <string_view>

#include "base/containers/fixed_flat_map.h"
#include "chrome/browser/promos/promos_pref_names.h"
#include "chrome/browser/ui/toolbar/toolbar_pref_names.h"
#include "chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h"
#include "chrome/common/pref_names.h"
#include "components/language/core/browser/pref_names.h"
#include "components/live_caption/pref_names.h"
#include "components/performance_manager/public/user_tuning/prefs.h"
#include "components/privacy_sandbox/privacy_sandbox_prefs.h"
#include "components/privacy_sandbox/tracking_protection_prefs.h"
#include "components/sharing_message/pref_names.h"
#include "components/spellcheck/browser/pref_names.h"
#include "components/sync/base/data_type.h"
#include "components/sync_preferences/syncable_prefs_database.h"
#include "components/translate/core/browser/translate_prefs.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_pref_names.h"
#include "ash/public/cpp/shelf_prefs.h"
#include "chrome/browser/ash/app_restore/full_restore_prefs.h"
#include "chrome/browser/ash/guest_os/guest_os_pref_names.h"
#include "chrome/browser/ash/login/login_pref_names.h"
#include "chromeos/ash/components/tether/pref_names.h"
#include "components/drive/drive_pref_names.h"  // nogncheck crbug.com/1125897
#include "components/metrics/demographics/user_demographics.h"
#include "components/user_manager/user_manager_pref_names.h"
#include "components/variations/service/google_groups_manager_prefs.h"
#include "ui/events/ash/pref_names.h"
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
#include "extensions/browser/pref_names.h"  // nogncheck
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "components/supervised_user/core/common/pref_names.h"
#endif

namespace browser_sync {
namespace {
// Not an enum class to ease cast to int.
namespace syncable_prefs_ids {
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused. When adding a new entry, append the
// enumerator to the end and add it to the `SyncablePref` enum in
// tools/metrics/histograms/metadata/sync/enums.xml. When removing an unused
// enumerator, comment it out here, making it clear the value was previously
// used, and add "(obsolete)" to the corresponding entry in enums.xml.
// LINT.IfChange(ChromeSyncablePref)
enum {};
// LINT.ThenChange(/tools/metrics/histograms/metadata/sync/enums.xml:ChromeSyncablePref)
}  // namespace syncable_prefs_ids

// Non-iOS specific list of syncable preferences.
constexpr auto kChromeSyncablePrefsAllowlist =;

}  // namespace

std::optional<sync_preferences::SyncablePrefMetadata>
ChromeSyncablePrefsDatabase::GetSyncablePrefMetadata(
    std::string_view pref_name) const {}

std::map<std::string_view, sync_preferences::SyncablePrefMetadata>
ChromeSyncablePrefsDatabase::GetAllSyncablePrefsForTest() const {}
}  // namespace browser_sync