| Index: chrome/browser/sync/profile_sync_components_factory_impl.h
|
| diff --git a/chrome/browser/sync/profile_sync_components_factory_impl.h b/chrome/browser/sync/profile_sync_components_factory_impl.h
|
| index bb086e87939bf3c1b624655a5724152229b2e2b5..76c75167b5f78443e1248478f8459c820ea95f4e 100644
|
| --- a/chrome/browser/sync/profile_sync_components_factory_impl.h
|
| +++ b/chrome/browser/sync/profile_sync_components_factory_impl.h
|
| @@ -11,22 +11,23 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/sync/chrome_sync_client.h"
|
| -#include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
|
| -#include "components/sync_driver/profile_sync_components_factory.h"
|
| -#include "google_apis/gaia/oauth2_token_service.h"
|
| +#include "components/sync_driver/sync_api_component_factory.h"
|
| #include "sync/internal_api/public/base/model_type.h"
|
| +#include "url/gurl.h"
|
|
|
| +class OAuth2TokenService;
|
| class Profile;
|
|
|
| namespace base {
|
| class CommandLine;
|
| }
|
|
|
| -namespace extensions {
|
| -class ExtensionSystem;
|
| +namespace net {
|
| +class URLRequestContextGetter;
|
| }
|
|
|
| -class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
| +class ProfileSyncComponentsFactoryImpl
|
| + : public sync_driver::SyncApiComponentFactory {
|
| public:
|
| // Constructs a ProfileSyncComponentsFactoryImpl.
|
| //
|
| @@ -44,7 +45,10 @@ class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
| net::URLRequestContextGetter* url_request_context_getter);
|
| ~ProfileSyncComponentsFactoryImpl() override;
|
|
|
| - void RegisterDataTypes(ProfileSyncService* pss) override;
|
| + // Initializes internal state after construction.
|
| + void Initialize(sync_driver::SyncService* sync_service) override;
|
| +
|
| + void RegisterDataTypes() override;
|
|
|
| sync_driver::DataTypeManager* CreateDataTypeManager(
|
| const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>&
|
| @@ -56,7 +60,6 @@ class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
|
|
| browser_sync::SyncBackendHost* CreateSyncBackendHost(
|
| const std::string& name,
|
| - Profile* profile,
|
| invalidation::InvalidationService* invalidator,
|
| const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs,
|
| const base::FilePath& sync_folder) override;
|
| @@ -64,11 +67,6 @@ class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
| scoped_ptr<sync_driver::LocalDeviceInfoProvider>
|
| CreateLocalDeviceInfoProvider() override;
|
|
|
| - // TODO(zea): crbug.com/512768 Remove GetSyncableServiceForType from
|
| - // ProfileSyncComponentsFactory and have everything use the SyncClient
|
| - // instead.
|
| - base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType(
|
| - syncer::ModelType type) override;
|
| scoped_ptr<syncer::AttachmentService> CreateAttachmentService(
|
| scoped_ptr<syncer::AttachmentStoreForSync> attachment_store,
|
| const syncer::UserShare& user_share,
|
| @@ -77,11 +75,13 @@ class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
| syncer::AttachmentService::Delegate* delegate) override;
|
|
|
| // Legacy datatypes that need to be converted to the SyncableService API.
|
| - SyncComponents CreateBookmarkSyncComponents(
|
| - ProfileSyncService* profile_sync_service,
|
| + sync_driver::SyncApiComponentFactory::SyncComponents
|
| + CreateBookmarkSyncComponents(
|
| + sync_driver::SyncService* sync_service,
|
| sync_driver::DataTypeErrorHandler* error_handler) override;
|
| - SyncComponents CreateTypedUrlSyncComponents(
|
| - ProfileSyncService* profile_sync_service,
|
| + sync_driver::SyncApiComponentFactory::SyncComponents
|
| + CreateTypedUrlSyncComponents(
|
| + sync_driver::SyncService* sync_service,
|
| history::HistoryBackend* history_backend,
|
| sync_driver::DataTypeErrorHandler* error_handler) override;
|
|
|
| @@ -90,14 +90,12 @@ class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
| // |disabled_types| and |enabled_types| correspond only to those types
|
| // being explicitly enabled/disabled by the command line.
|
| void RegisterDesktopDataTypes(syncer::ModelTypeSet disabled_types,
|
| - syncer::ModelTypeSet enabled_types,
|
| - ProfileSyncService* pss);
|
| + syncer::ModelTypeSet enabled_types);
|
| // Register data types which are enabled on both desktop and mobile.
|
| // |disabled_types| and |enabled_types| correspond only to those types
|
| // being explicitly enabled/disabled by the command line.
|
| void RegisterCommonDataTypes(syncer::ModelTypeSet disabled_types,
|
| - syncer::ModelTypeSet enabled_types,
|
| - ProfileSyncService* pss);
|
| + syncer::ModelTypeSet enabled_types);
|
| // Used to bind a callback to give to DataTypeControllers to disable
|
| // data types.
|
| sync_driver::DataTypeController::DisableTypeCallback
|
| @@ -108,13 +106,14 @@ class ProfileSyncComponentsFactoryImpl : public ProfileSyncComponentsFactory {
|
|
|
| Profile* profile_;
|
| base::CommandLine* command_line_;
|
| - scoped_refptr<autofill::AutofillWebDataService> web_data_service_;
|
|
|
| const GURL sync_service_url_;
|
| OAuth2TokenService* const token_service_;
|
| net::URLRequestContextGetter* const url_request_context_getter_;
|
|
|
| // Chrome specific implementation of SyncClient.
|
| + // TODO(zea): Move the creation of this into the ProfileSyncServiceFactory,
|
| + // and ownership to the ProfileSyncService itself.
|
| browser_sync::ChromeSyncClient chrome_sync_client_;
|
|
|
| base::WeakPtrFactory<ProfileSyncComponentsFactoryImpl> weak_factory_;
|
|
|