Commit 9973fcb5 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert TrackedPreferenceValidationDelegate to new Mojo types

This CL converts TrackedPreferenceValidationDelegatePtr and
TrackedPreferenceValidationDelegateRequest to new Mojo types.

It uses PendingRemote or Remote and ReceiverSet instead of
TrackedPreferenceValidationDelegatePtr and BindingSet.

Bug: 955171
Change-Id: Ia417d64fb7a05fd779795c5eb4c0ba7dbce209b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1809288
Commit-Queue: Julie Kim <jkim@igalia.com>
Reviewed-by: default avatarSam McNally <sammc@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avatarDominic Battré <battre@chromium.org>
Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#698751}
parent 74381e33
......@@ -202,7 +202,7 @@ void AwBrowserContext::CreateUserPrefService() {
pref_service_factory.set_user_prefs(base::MakeRefCounted<SegregatedPrefStore>(
base::MakeRefCounted<InMemoryPrefStore>(),
base::MakeRefCounted<JsonPrefStore>(GetPrefStorePath()), persistent_prefs,
/*validation_delegate=*/nullptr));
mojo::Remote<::prefs::mojom::TrackedPreferenceValidationDelegate>()));
policy::URLBlacklistManager::RegisterProfilePrefs(pref_registry.get());
AwBrowserPolicyConnector* browser_policy_connector =
......
......@@ -86,7 +86,7 @@ std::unique_ptr<PrefService> CreatePrefService() {
pref_service_factory.set_user_prefs(base::MakeRefCounted<SegregatedPrefStore>(
base::MakeRefCounted<InMemoryPrefStore>(),
base::MakeRefCounted<JsonPrefStore>(GetPrefStorePath()), persistent_prefs,
/*validation_delegate=*/nullptr));
mojo::Remote<::prefs::mojom::TrackedPreferenceValidationDelegate>()));
pref_service_factory.set_read_error_callback(
base::BindRepeating(&HandleReadError));
......
......@@ -59,7 +59,6 @@
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/buildflags/buildflags.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "rlz/buildflags/buildflags.h"
#include "services/preferences/public/cpp/tracked/configuration.h"
......@@ -420,7 +419,8 @@ std::unique_ptr<PrefService> CreateLocalState(
std::unique_ptr<sync_preferences::PrefServiceSyncable> CreateProfilePrefs(
const base::FilePath& profile_path,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate,
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate,
policy::PolicyService* policy_service,
SupervisedUserSettingsService* supervised_user_settings,
scoped_refptr<PrefStore> extension_prefs,
......
......@@ -10,6 +10,7 @@
#include "base/memory/ref_counted.h"
#include "components/prefs/persistent_pref_store.h"
#include "components/prefs/pref_value_store.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom-forward.h"
namespace base {
......@@ -75,7 +76,8 @@ std::unique_ptr<PrefService> CreateLocalState(
std::unique_ptr<sync_preferences::PrefServiceSyncable> CreateProfilePrefs(
const base::FilePath& pref_filename,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate,
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate,
policy::PolicyService* policy_service,
SupervisedUserSettingsService* supervised_user_settings,
scoped_refptr<PrefStore> extension_prefs,
......
......@@ -90,7 +90,8 @@ PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore(
scoped_refptr<base::SequencedTaskRunner> io_task_runner,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver>
reset_on_load_observer,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate) {
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate) {
if (!kPlatformSupportsPreferenceTracking) {
return new JsonPrefStore(profile_path_.Append(chrome::kPreferencesFilename),
nullptr, io_task_runner);
......@@ -115,7 +116,8 @@ bool ProfilePrefStoreManager::InitializePrefsFromMasterPrefs(
if (kPlatformSupportsPreferenceTracking) {
InitializeMasterPrefsTracking(
CreateTrackedPrefStoreConfiguration(std::move(tracking_configuration),
reporting_ids_count, {}, nullptr),
reporting_ids_count, {},
mojo::NullRemote()),
master_prefs.get());
}
......@@ -141,7 +143,8 @@ ProfilePrefStoreManager::CreateTrackedPrefStoreConfiguration(
size_t reporting_ids_count,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver>
reset_on_load_observer,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate) {
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate) {
return prefs::mojom::TrackedPersistentPrefStoreConfiguration::New(
profile_path_.Append(chrome::kPreferencesFilename),
profile_path_.Append(chrome::kSecurePreferencesFilename),
......@@ -154,5 +157,5 @@ ProfilePrefStoreManager::CreateTrackedPrefStoreConfiguration(
#else
base::string16(),
#endif
validation_delegate.PassInterface(), std::move(reset_on_load_observer));
std::move(validation_delegate), std::move(reset_on_load_observer));
}
......@@ -88,7 +88,8 @@ class ProfilePrefStoreManager {
scoped_refptr<base::SequencedTaskRunner> io_task_runner,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver>
reset_on_load_observer,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate);
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate);
// Initializes the preferences for the managed profile with the preference
// values in |master_prefs|. Acts synchronously, including blocking IO.
......@@ -107,7 +108,8 @@ class ProfilePrefStoreManager {
size_t reporting_ids_count,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver>
reset_on_load_observer,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate,
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate,
service_manager::Connector* connector);
prefs::mojom::TrackedPersistentPrefStoreConfigurationPtr
......@@ -117,7 +119,8 @@ class ProfilePrefStoreManager {
size_t reporting_ids_count,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver>
reset_on_load_observer,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate);
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate);
const base::FilePath profile_path_;
const std::string seed_;
......
......@@ -30,7 +30,6 @@
#include "components/prefs/pref_store.h"
#include "components/prefs/testing_pref_service.h"
#include "content/public/common/service_names.mojom.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/preferences/public/cpp/pref_service_main.h"
......@@ -224,10 +223,11 @@ class ProfilePrefStoreManagerTest : public testing::Test,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver> observer;
reset_on_load_observer_receivers_.Add(
this, observer.InitWithNewPipeAndPassReceiver());
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate;
mock_validation_delegate_bindings_.AddBinding(
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate;
mock_validation_delegate_receivers_.Add(
mock_validation_delegate_.get(),
mojo::MakeRequest(&validation_delegate));
validation_delegate.InitWithNewPipeAndPassReceiver());
scoped_refptr<PersistentPrefStore> pref_store =
manager_->CreateProfilePrefStore(
prefs::CloneTrackedConfiguration(configuration_), kReportingIdCount,
......@@ -278,10 +278,11 @@ class ProfilePrefStoreManagerTest : public testing::Test,
mojo::PendingRemote<prefs::mojom::ResetOnLoadObserver> observer;
reset_on_load_observer_receivers_.Add(
this, observer.InitWithNewPipeAndPassReceiver());
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate;
mock_validation_delegate_bindings_.AddBinding(
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate;
mock_validation_delegate_receivers_.Add(
mock_validation_delegate_.get(),
mojo::MakeRequest(&validation_delegate));
validation_delegate.InitWithNewPipeAndPassReceiver());
pref_store_ = manager_->CreateProfilePrefStore(
prefs::CloneTrackedConfiguration(configuration_), kReportingIdCount,
base::ThreadTaskRunnerHandle::Get(), std::move(observer),
......@@ -335,8 +336,8 @@ class ProfilePrefStoreManagerTest : public testing::Test,
RegistryVerifier registry_verifier_;
scoped_refptr<MockValidationDelegateRecord> mock_validation_delegate_record_;
std::unique_ptr<MockValidationDelegate> mock_validation_delegate_;
mojo::BindingSet<prefs::mojom::TrackedPreferenceValidationDelegate>
mock_validation_delegate_bindings_;
mojo::ReceiverSet<prefs::mojom::TrackedPreferenceValidationDelegate>
mock_validation_delegate_receivers_;
std::unique_ptr<ProfilePrefStoreManager> manager_;
scoped_refptr<PersistentPrefStore> pref_store_;
......
......@@ -31,7 +31,6 @@
#include "components/prefs/pref_value_store.h"
#include "components/sync_preferences/pref_service_syncable.h"
#include "content/public/browser/network_service_instance.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/preferences/public/cpp/in_process_service_factory.h"
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
#include "ui/base/l10n/l10n_util.h"
......@@ -89,7 +88,7 @@ std::unique_ptr<sync_preferences::PrefServiceSyncable> CreatePrefService(
PrefStore* extension_pref_store,
policy::PolicyService* policy_service,
policy::ChromeBrowserPolicyConnector* browser_policy_connector,
prefs::mojom::TrackedPreferenceValidationDelegatePtr
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate,
scoped_refptr<base::SequencedTaskRunner> io_task_runner,
SimpleFactoryKey* key,
......
......@@ -12,6 +12,7 @@
#include "base/macros.h"
#include "base/memory/scoped_refptr.h"
#include "build/build_config.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
class PrefStore;
......@@ -52,7 +53,7 @@ std::unique_ptr<sync_preferences::PrefServiceSyncable> CreatePrefService(
PrefStore* extension_pref_store,
policy::PolicyService* policy_service,
policy::ChromeBrowserPolicyConnector* browser_policy_connector,
prefs::mojom::TrackedPreferenceValidationDelegatePtr
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate,
scoped_refptr<base::SequencedTaskRunner> io_task_runner,
SimpleFactoryKey* key,
......
......@@ -152,7 +152,8 @@
#include "content/public/common/content_constants.h"
#include "extensions/buildflags/buildflags.h"
#include "google_apis/google_api_keys.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "ppapi/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
#include "services/identity/identity_service.h"
......@@ -622,15 +623,17 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
g_browser_process->GetApplicationLocale(),
pref_registry_.get());
prefs::mojom::TrackedPreferenceValidationDelegatePtr pref_validation_delegate;
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate;
scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service(
g_browser_process->safe_browsing_service());
if (safe_browsing_service.get()) {
auto pref_validation_delegate_impl =
safe_browsing_service->CreatePreferenceValidationDelegate(this);
if (pref_validation_delegate_impl) {
mojo::MakeStrongBinding(std::move(pref_validation_delegate_impl),
mojo::MakeRequest(&pref_validation_delegate));
mojo::MakeSelfOwnedReceiver(
std::move(pref_validation_delegate_impl),
pref_validation_delegate.InitWithNewPipeAndPassReceiver());
}
}
......
......@@ -44,6 +44,7 @@
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/sync_preferences/pref_service_syncable.h"
#include "content/public/browser/network_service_instance.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/preferences/public/cpp/in_process_service_factory.h"
#include "services/preferences/public/mojom/preferences.mojom.h"
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
......@@ -191,7 +192,8 @@ void StartupData::CreateServicesInternal() {
chrome_feature_list_creator_->actual_locale(),
pref_registry_.get());
prefs::mojom::TrackedPreferenceValidationDelegatePtr pref_validation_delegate;
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate;
// The preference tracking and protection is not required on Android.
DCHECK(!ProfilePrefStoreManager::kPlatformSupportsPreferenceTracking);
......
......@@ -53,7 +53,8 @@ SegregatedPrefStore::SegregatedPrefStore(
const scoped_refptr<PersistentPrefStore>& default_pref_store,
const scoped_refptr<PersistentPrefStore>& selected_pref_store,
const std::set<std::string>& selected_pref_names,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate)
mojo::Remote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate)
: validation_delegate_(std::move(validation_delegate)),
default_pref_store_(default_pref_store),
selected_pref_store_(selected_pref_store),
......
......@@ -16,6 +16,7 @@
#include "base/memory/ref_counted.h"
#include "base/observer_list.h"
#include "components/prefs/persistent_pref_store.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
// Provides a unified PersistentPrefStore implementation that splits its storage
......@@ -45,7 +46,8 @@ class SegregatedPrefStore : public PersistentPrefStore {
const scoped_refptr<PersistentPrefStore>& default_pref_store,
const scoped_refptr<PersistentPrefStore>& selected_pref_store,
const std::set<std::string>& selected_pref_names,
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate);
mojo::Remote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate);
// PrefStore implementation
void AddObserver(Observer* observer) override;
......@@ -109,7 +111,8 @@ class SegregatedPrefStore : public PersistentPrefStore {
// |validation_delegate_| is used by |default_pref_store_| and
// |selected_pref_store_| PrefHashFilters. Its lifetime is managed here since
// a single owner is required.
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate_;
mojo::Remote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate_;
scoped_refptr<PersistentPrefStore> default_pref_store_;
scoped_refptr<PersistentPrefStore> selected_pref_store_;
......
......@@ -83,8 +83,9 @@ class SegregatedPrefStoreTest
selected_pref_names.insert(kSelectedPref);
selected_pref_names.insert(kSharedPref);
segregated_store_ = new SegregatedPrefStore(default_store_, selected_store_,
selected_pref_names, nullptr);
segregated_store_ = new SegregatedPrefStore(
default_store_, selected_store_, selected_pref_names,
mojo::Remote<prefs::mojom::TrackedPreferenceValidationDelegate>());
segregated_store_->AddObserver(&observer_);
}
......
......@@ -13,6 +13,7 @@
#include "base/bind.h"
#include "components/prefs/json_pref_store.h"
#include "components/prefs/pref_filter.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"
......@@ -101,7 +102,8 @@ PersistentPrefStore* CreateTrackedPersistentPrefStore(
}
#endif
prefs::mojom::TrackedPreferenceValidationDelegatePtr validation_delegate;
mojo::Remote<prefs::mojom::TrackedPreferenceValidationDelegate>
validation_delegate;
validation_delegate.Bind(std::move(config->validation_delegate));
std::unique_ptr<PrefHashFilter> unprotected_pref_hash_filter(
new PrefHashFilter(CreatePrefHashStore(*config, false),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment