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_; |