#include "services/preferences/tracked/tracked_persistent_pref_store_factory.h"
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/task/sequenced_task_runner.h"
#include "build/build_config.h"
#include "components/prefs/json_pref_store.h"
#include "components/prefs/pref_filter.h"
#include "components/prefs/pref_name_set.h"
#include "components/prefs/segregated_pref_store.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
#include "services/preferences/tracked/pref_hash_filter.h"
#include "services/preferences/tracked/pref_hash_store_impl.h"
#include "services/preferences/tracked/temp_scoped_dir_cleaner.h"
#include "services/preferences/tracked/tracked_preferences_migration.h"
#if BUILDFLAG(IS_WIN)
#include "base/files/scoped_temp_dir.h"
#include "base/strings/string_util.h"
#include "services/preferences/tracked/registry_hash_store_contents_win.h"
#endif
namespace {
void RemoveValueSilently(const base::WeakPtr<JsonPrefStore> pref_store,
const std::string& key) { … }
std::unique_ptr<PrefHashStore> CreatePrefHashStore(
const prefs::mojom::TrackedPersistentPrefStoreConfiguration& config,
bool use_super_mac) { … }
std::pair<std::unique_ptr<PrefHashStore>, std::unique_ptr<HashStoreContents>>
GetExternalVerificationPrefHashStorePair(
const prefs::mojom::TrackedPersistentPrefStoreConfiguration& config,
scoped_refptr<TempScopedDirCleaner> temp_dir_cleaner) { … }
}
PersistentPrefStore* CreateTrackedPersistentPrefStore(
prefs::mojom::TrackedPersistentPrefStoreConfigurationPtr config,
scoped_refptr<base::SequencedTaskRunner> io_task_runner) { … }
void InitializeMasterPrefsTracking(
prefs::mojom::TrackedPersistentPrefStoreConfigurationPtr configuration,
base::Value::Dict& master_prefs) { … }