Commit 584dddf9 authored by Marc Treib's avatar Marc Treib Committed by Commit Bot

Move Add/RemovePreferenceProvider up into SyncService

These were previously only exposed in *Profile*SyncService. Moving them
up into the interface removes one of the last reasons to use
ProfileSyncService directly.

Bug: 924508
Change-Id: Ie7f44f4dc8adba814812b9fae9bf3e753c7890c5
Reviewed-on: https://chromium-review.googlesource.com/c/1458038Reviewed-by: default avatarMohamed Amir Yosef <mamir@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629967}
parent 295d5590
...@@ -38,10 +38,10 @@ ...@@ -38,10 +38,10 @@
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chrome/grit/generated_resources.h" #include "chrome/grit/generated_resources.h"
#include "components/browser_sync/profile_sync_service.h"
#include "components/policy/core/browser/url_util.h" #include "components/policy/core/browser/url_util.h"
#include "components/pref_registry/pref_registry_syncable.h" #include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/sync/driver/sync_service.h"
#include "components/sync/driver/sync_user_settings.h" #include "components/sync/driver/sync_user_settings.h"
#include "content/public/browser/browser_context.h" #include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h" #include "content/public/browser/storage_partition.h"
...@@ -167,8 +167,8 @@ void SupervisedUserService::Init() { ...@@ -167,8 +167,8 @@ void SupervisedUserService::Init() {
base::Bind(&SupervisedUserService::OnSupervisedUserIdChanged, base::Bind(&SupervisedUserService::OnSupervisedUserIdChanged,
base::Unretained(this))); base::Unretained(this)));
browser_sync::ProfileSyncService* sync_service = syncer::SyncService* sync_service =
ProfileSyncServiceFactory::GetForProfile(profile_); ProfileSyncServiceFactory::GetSyncServiceForProfile(profile_);
// Can be null in tests. // Can be null in tests.
if (sync_service) if (sync_service)
sync_service->AddPreferenceProvider(this); sync_service->AddPreferenceProvider(this);
...@@ -394,8 +394,8 @@ void SupervisedUserService::SetActive(bool active) { ...@@ -394,8 +394,8 @@ void SupervisedUserService::SetActive(bool active) {
theme_service->UseDefaultTheme(); theme_service->UseDefaultTheme();
#endif #endif
browser_sync::ProfileSyncService* sync_service = syncer::SyncService* sync_service =
ProfileSyncServiceFactory::GetForProfile(profile_); ProfileSyncServiceFactory::GetSyncServiceForProfile(profile_);
sync_service->GetUserSettings()->SetEncryptEverythingAllowed(!active_); sync_service->GetUserSettings()->SetEncryptEverythingAllowed(!active_);
GetSettingsService()->SetActive(active_); GetSettingsService()->SetActive(active_);
...@@ -720,8 +720,8 @@ void SupervisedUserService::Shutdown() { ...@@ -720,8 +720,8 @@ void SupervisedUserService::Shutdown() {
} }
SetActive(false); SetActive(false);
browser_sync::ProfileSyncService* sync_service = syncer::SyncService* sync_service =
ProfileSyncServiceFactory::GetForProfile(profile_); ProfileSyncServiceFactory::GetSyncServiceForProfile(profile_);
// Can be null in tests. // Can be null in tests.
if (sync_service) if (sync_service)
sync_service->RemovePreferenceProvider(this); sync_service->RemovePreferenceProvider(this);
......
...@@ -204,6 +204,12 @@ class ProfileSyncService : public syncer::SyncService, ...@@ -204,6 +204,12 @@ class ProfileSyncService : public syncer::SyncService,
void AddObserver(syncer::SyncServiceObserver* observer) override; void AddObserver(syncer::SyncServiceObserver* observer) override;
void RemoveObserver(syncer::SyncServiceObserver* observer) override; void RemoveObserver(syncer::SyncServiceObserver* observer) override;
bool HasObserver(const syncer::SyncServiceObserver* observer) const override; bool HasObserver(const syncer::SyncServiceObserver* observer) const override;
void AddPreferenceProvider(
syncer::SyncTypePreferenceProvider* provider) override;
void RemovePreferenceProvider(
syncer::SyncTypePreferenceProvider* provider) override;
bool HasPreferenceProvider(
syncer::SyncTypePreferenceProvider* provider) const override;
syncer::UserShare* GetUserShare() const override; syncer::UserShare* GetUserShare() const override;
syncer::SyncTokenStatus GetSyncTokenStatus() const override; syncer::SyncTokenStatus GetSyncTokenStatus() const override;
bool QueryDetailedSyncStatus(syncer::SyncStatus* result) const override; bool QueryDetailedSyncStatus(syncer::SyncStatus* result) const override;
...@@ -225,16 +231,6 @@ class ProfileSyncService : public syncer::SyncService, ...@@ -225,16 +231,6 @@ class ProfileSyncService : public syncer::SyncService,
void GetAllNodes(const base::Callback<void(std::unique_ptr<base::ListValue>)>& void GetAllNodes(const base::Callback<void(std::unique_ptr<base::ListValue>)>&
callback) override; callback) override;
// Add a sync type preference provider. Each provider may only be added once.
void AddPreferenceProvider(syncer::SyncTypePreferenceProvider* provider);
// Remove a sync type preference provider. May only be called for providers
// that have been added. Providers must not remove themselves while being
// called back.
void RemovePreferenceProvider(syncer::SyncTypePreferenceProvider* provider);
// Check whether a given sync type preference provider has been added.
bool HasPreferenceProvider(
syncer::SyncTypePreferenceProvider* provider) const;
// SyncEngineHost implementation. // SyncEngineHost implementation.
void OnEngineInitialized( void OnEngineInitialized(
syncer::ModelTypeSet initial_types, syncer::ModelTypeSet initial_types,
......
...@@ -61,6 +61,17 @@ bool FakeSyncService::HasObserver(const SyncServiceObserver* observer) const { ...@@ -61,6 +61,17 @@ bool FakeSyncService::HasObserver(const SyncServiceObserver* observer) const {
return false; return false;
} }
void FakeSyncService::AddPreferenceProvider(
SyncTypePreferenceProvider* provider) {}
void FakeSyncService::RemovePreferenceProvider(
SyncTypePreferenceProvider* provider) {}
bool FakeSyncService::HasPreferenceProvider(
SyncTypePreferenceProvider* provider) const {
return false;
}
void FakeSyncService::StopAndClear() {} void FakeSyncService::StopAndClear() {}
void FakeSyncService::OnDataTypeRequestsSyncStartup(ModelType type) {} void FakeSyncService::OnDataTypeRequestsSyncStartup(ModelType type) {}
......
...@@ -36,6 +36,10 @@ class FakeSyncService : public SyncService { ...@@ -36,6 +36,10 @@ class FakeSyncService : public SyncService {
void AddObserver(SyncServiceObserver* observer) override; void AddObserver(SyncServiceObserver* observer) override;
void RemoveObserver(SyncServiceObserver* observer) override; void RemoveObserver(SyncServiceObserver* observer) override;
bool HasObserver(const SyncServiceObserver* observer) const override; bool HasObserver(const SyncServiceObserver* observer) const override;
void AddPreferenceProvider(SyncTypePreferenceProvider* provider) override;
void RemovePreferenceProvider(SyncTypePreferenceProvider* provider) override;
bool HasPreferenceProvider(
SyncTypePreferenceProvider* provider) const override;
void OnDataTypeRequestsSyncStartup(ModelType type) override; void OnDataTypeRequestsSyncStartup(ModelType type) override;
void StopAndClear() override; void StopAndClear() override;
ModelTypeSet GetRegisteredDataTypes() const override; ModelTypeSet GetRegisteredDataTypes() const override;
......
...@@ -27,6 +27,7 @@ class JsController; ...@@ -27,6 +27,7 @@ class JsController;
class ProtocolEventObserver; class ProtocolEventObserver;
class SyncCycleSnapshot; class SyncCycleSnapshot;
struct SyncTokenStatus; struct SyncTokenStatus;
class SyncTypePreferenceProvider;
class SyncUserSettings; class SyncUserSettings;
class TypeDebugInfoObserver; class TypeDebugInfoObserver;
struct SyncStatus; struct SyncStatus;
...@@ -300,6 +301,21 @@ class SyncService : public KeyedService { ...@@ -300,6 +301,21 @@ class SyncService : public KeyedService {
// Returns true if |observer| has already been added as an observer. // Returns true if |observer| has already been added as an observer.
virtual bool HasObserver(const SyncServiceObserver* observer) const = 0; virtual bool HasObserver(const SyncServiceObserver* observer) const = 0;
//////////////////////////////////////////////////////////////////////////////
// PREFERENCE PROVIDERS (which provide forced data types)
//////////////////////////////////////////////////////////////////////////////
// Adds a sync type preference provider. Each provider may only be added once.
virtual void AddPreferenceProvider(SyncTypePreferenceProvider* provider) = 0;
// Removes a sync type preference provider. May only be called for providers
// that have been added. Providers must not remove themselves while being
// called back.
virtual void RemovePreferenceProvider(
SyncTypePreferenceProvider* provider) = 0;
// Checks whether a given sync type preference provider has been added.
virtual bool HasPreferenceProvider(
SyncTypePreferenceProvider* provider) const = 0;
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// ACCESS TO INNER OBJECTS // ACCESS TO INNER OBJECTS
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
......
...@@ -188,6 +188,17 @@ bool TestSyncService::HasObserver(const SyncServiceObserver* observer) const { ...@@ -188,6 +188,17 @@ bool TestSyncService::HasObserver(const SyncServiceObserver* observer) const {
return false; return false;
} }
void TestSyncService::AddPreferenceProvider(
SyncTypePreferenceProvider* provider) {}
void TestSyncService::RemovePreferenceProvider(
SyncTypePreferenceProvider* provider) {}
bool TestSyncService::HasPreferenceProvider(
SyncTypePreferenceProvider* provider) const {
return false;
}
UserShare* TestSyncService::GetUserShare() const { UserShare* TestSyncService::GetUserShare() const {
return nullptr; return nullptr;
} }
......
...@@ -75,6 +75,11 @@ class TestSyncService : public SyncService { ...@@ -75,6 +75,11 @@ class TestSyncService : public SyncService {
void RemoveObserver(SyncServiceObserver* observer) override; void RemoveObserver(SyncServiceObserver* observer) override;
bool HasObserver(const SyncServiceObserver* observer) const override; bool HasObserver(const SyncServiceObserver* observer) const override;
void AddPreferenceProvider(SyncTypePreferenceProvider* provider) override;
void RemovePreferenceProvider(SyncTypePreferenceProvider* provider) override;
bool HasPreferenceProvider(
SyncTypePreferenceProvider* provider) const override;
UserShare* GetUserShare() const override; UserShare* GetUserShare() const override;
SyncTokenStatus GetSyncTokenStatus() const override; SyncTokenStatus GetSyncTokenStatus() const override;
......
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