| Index: chrome/browser/sync/chrome_sync_client.h | 
| diff --git a/chrome/browser/sync/chrome_sync_client.h b/chrome/browser/sync/chrome_sync_client.h | 
| index 7d16e8a62293e8032993ba729913ef483a4926b7..b46b61cb69f9ba8eab290b711fa91b4d30057b54 100644 | 
| --- a/chrome/browser/sync/chrome_sync_client.h | 
| +++ b/chrome/browser/sync/chrome_sync_client.h | 
| @@ -21,13 +21,13 @@ namespace browser_sync { | 
|  | 
| class ChromeSyncClient : public sync_driver::SyncClient { | 
| public: | 
| -  ChromeSyncClient( | 
| -      Profile* profile, | 
| -      scoped_ptr<sync_driver::SyncApiComponentFactory> component_factory); | 
| +  explicit ChromeSyncClient(Profile* profile); | 
| ~ChromeSyncClient() override; | 
|  | 
| // SyncClient implementation. | 
| -  void Initialize(sync_driver::SyncService* sync_service) override; | 
| +  void Initialize( | 
| +      scoped_ptr<sync_driver::SyncApiComponentFactory> component_factory, | 
| +      sync_driver::SyncService* sync_service) override; | 
| sync_driver::SyncService* GetSyncService() override; | 
| PrefService* GetPrefService() override; | 
| bookmarks::BookmarkModel* GetBookmarkModel() override; | 
| @@ -37,6 +37,8 @@ class ChromeSyncClient : public sync_driver::SyncClient { | 
| sync_driver::ClearBrowsingDataCallback GetClearBrowsingDataCallback() | 
| override; | 
| base::Closure GetPasswordStateChangedCallback() override; | 
| +  sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod | 
| +  GetRegisterPlatformTypesCallback() override; | 
| autofill::PersonalDataManager* GetPersonalDataManager() override; | 
| invalidation::InvalidationService* GetInvalidationService() override; | 
| scoped_refptr<autofill::AutofillWebDataService> GetWebDataService() override; | 
| @@ -55,10 +57,22 @@ class ChromeSyncClient : public sync_driver::SyncClient { | 
| BrowsingDataRemover::Observer* observer); | 
|  | 
| private: | 
| -  Profile* const profile_; | 
| +  // Register data types which are enabled on desktop platforms only. | 
| +  // |disabled_types| and |enabled_types| correspond only to those types | 
| +  // being explicitly disabled/enabled by the command line. | 
| +  void RegisterDesktopDataTypes(syncer::ModelTypeSet disabled_types, | 
| +                                syncer::ModelTypeSet enabled_types); | 
| + | 
| +  // Register data types which are enabled on Android platforms only. | 
| +  // |disabled_types| and |enabled_types| correspond only to those types | 
| +  // being explicitly disabled/enabled by the command line. | 
| +  void RegisterAndroidDataTypes(syncer::ModelTypeSet disabled_types, | 
| +                                syncer::ModelTypeSet enabled_types); | 
|  | 
| void ClearBrowsingData(base::Time start, base::Time end); | 
|  | 
| +  Profile* const profile_; | 
| + | 
| // The sync api component factory in use by this client. | 
| scoped_ptr<sync_driver::SyncApiComponentFactory> component_factory_; | 
|  | 
| @@ -81,6 +95,8 @@ class ChromeSyncClient : public sync_driver::SyncClient { | 
| // Used in integration tests. | 
| BrowsingDataRemover::Observer* browsing_data_remover_observer_; | 
|  | 
| +  base::WeakPtrFactory<ChromeSyncClient> weak_ptr_factory_; | 
| + | 
| DISALLOW_COPY_AND_ASSIGN(ChromeSyncClient); | 
| }; | 
|  | 
|  |