| Index: chrome/browser/prefs/profile_pref_store_manager.cc
|
| diff --git a/chrome/browser/prefs/profile_pref_store_manager.cc b/chrome/browser/prefs/profile_pref_store_manager.cc
|
| index 32f3c077e72a36b3692f14883cb3dcf66ae45b06..c572fa770a497269ae252d2bfc65897d26ceb91d 100644
|
| --- a/chrome/browser/prefs/profile_pref_store_manager.cc
|
| +++ b/chrome/browser/prefs/profile_pref_store_manager.cc
|
| @@ -25,7 +25,6 @@
|
| #include "components/user_prefs/tracked/segregated_pref_store.h"
|
| #include "components/user_prefs/tracked/tracked_preferences_migration.h"
|
| #include "mojo/public/cpp/bindings/strong_binding.h"
|
| -#include "services/preferences/public/cpp/persistent_pref_store_mojo.h"
|
| #include "services/preferences/public/cpp/user_prefs_impl.h"
|
|
|
| #if defined(OS_WIN)
|
| @@ -50,6 +49,19 @@ const base::string16* g_preference_validation_registry_path_for_testing =
|
| nullptr;
|
| #endif // OS_WIN
|
|
|
| +class ResetOnLoadObserverImpl : public prefs::mojom::ResetOnLoadObserver {
|
| + public:
|
| + explicit ResetOnLoadObserverImpl(const base::Closure& on_reset_on_load)
|
| + : on_reset_on_load_(on_reset_on_load) {
|
| + DCHECK(on_reset_on_load_);
|
| + }
|
| +
|
| + void OnResetOnLoad() override { on_reset_on_load_.Run(); }
|
| +
|
| + private:
|
| + base::Closure on_reset_on_load_;
|
| +};
|
| +
|
| } // namespace
|
|
|
| // Preference tracking and protection is not required on platforms where other
|
| @@ -108,14 +120,14 @@ PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore(
|
| const scoped_refptr<base::SequencedTaskRunner>& io_task_runner,
|
| const base::Closure& on_reset_on_load,
|
| std::unique_ptr<prefs::mojom::TrackedPreferenceValidationDelegate>*
|
| - validation_delegate) {
|
| + validation_delegate,
|
| + prefs::mojom::PersistentPrefStoreConnectorPtr* connector) {
|
| DCHECK(validation_delegate);
|
| - prefs::mojom::PersistentPrefStoreConnectorPtr connector;
|
| if (base::FeatureList::IsEnabled(features::kPrefService)) {
|
| if (!kPlatformSupportsPreferenceTracking) {
|
| prefs::CreateUserPrefs(profile_path_.Append(chrome::kPreferencesFilename),
|
| pref_task_runner, io_task_runner,
|
| - mojo::MakeRequest(&connector));
|
| + mojo::MakeRequest(connector));
|
| } else {
|
| prefs::mojom::TrackedPreferenceValidationDelegatePtr
|
| validation_delegate_ptr;
|
| @@ -123,6 +135,13 @@ PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore(
|
| mojo::MakeStrongBinding(std::move(*validation_delegate),
|
| mojo::MakeRequest(&validation_delegate_ptr));
|
| }
|
| + prefs::mojom::ResetOnLoadObserverPtr reset_on_load_observer;
|
| + if (on_reset_on_load) {
|
| + mojo::MakeStrongBinding(
|
| + base::MakeUnique<ResetOnLoadObserverImpl>(on_reset_on_load),
|
| + mojo::MakeRequest(&reset_on_load_observer));
|
| + }
|
| +
|
| prefs::CreateSegregatedUserPrefs(
|
| profile_path_.Append(chrome::kPreferencesFilename),
|
| profile_path_.Append(chrome::kSecurePreferencesFilename),
|
| @@ -135,10 +154,10 @@ PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore(
|
| #else
|
| base::string16(),
|
| #endif
|
| - std::move(validation_delegate_ptr), on_reset_on_load,
|
| - pref_task_runner, io_task_runner, mojo::MakeRequest(&connector));
|
| + std::move(validation_delegate_ptr), std::move(reset_on_load_observer),
|
| + pref_task_runner, io_task_runner, mojo::MakeRequest(connector));
|
| }
|
| - return new prefs::PersistentPrefStoreMojo(std::move(connector));
|
| + return nullptr;
|
| }
|
| if (!kPlatformSupportsPreferenceTracking) {
|
| return new JsonPrefStore(profile_path_.Append(chrome::kPreferencesFilename),
|
| @@ -156,7 +175,8 @@ PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore(
|
| it = tracking_configuration_.begin();
|
| it != tracking_configuration_.end();
|
| ++it) {
|
| - if (it->enforcement_level > PrefHashFilter::NO_ENFORCEMENT) {
|
| + if (it->enforcement_level >
|
| + PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT) {
|
| protected_configuration.push_back(*it);
|
| protected_pref_names.insert(it->name);
|
| } else {
|
|
|