OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "build/build_config.h" | 6 #include "build/build_config.h" |
7 #include "chrome/browser/extensions/app_notification_manager.h" | 7 #include "chrome/browser/extensions/app_notification_manager.h" |
8 #include "chrome/browser/extensions/extension_service.h" | 8 #include "chrome/browser/extensions/extension_service.h" |
9 #include "chrome/browser/extensions/extension_system.h" | 9 #include "chrome/browser/extensions/extension_system.h" |
10 #include "chrome/browser/extensions/extension_system_factory.h" | 10 #include "chrome/browser/extensions/extension_system_factory.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 #include "chrome/browser/sync/glue/theme_model_associator.h" | 40 #include "chrome/browser/sync/glue/theme_model_associator.h" |
41 #include "chrome/browser/sync/glue/typed_url_change_processor.h" | 41 #include "chrome/browser/sync/glue/typed_url_change_processor.h" |
42 #include "chrome/browser/sync/glue/typed_url_data_type_controller.h" | 42 #include "chrome/browser/sync/glue/typed_url_data_type_controller.h" |
43 #include "chrome/browser/sync/glue/typed_url_model_associator.h" | 43 #include "chrome/browser/sync/glue/typed_url_model_associator.h" |
44 #include "chrome/browser/sync/glue/ui_data_type_controller.h" | 44 #include "chrome/browser/sync/glue/ui_data_type_controller.h" |
45 #include "chrome/browser/sync/profile_sync_components_factory_impl.h" | 45 #include "chrome/browser/sync/profile_sync_components_factory_impl.h" |
46 #include "chrome/browser/sync/profile_sync_service.h" | 46 #include "chrome/browser/sync/profile_sync_service.h" |
47 #include "chrome/browser/webdata/autocomplete_syncable_service.h" | 47 #include "chrome/browser/webdata/autocomplete_syncable_service.h" |
48 #include "chrome/browser/webdata/autofill_profile_syncable_service.h" | 48 #include "chrome/browser/webdata/autofill_profile_syncable_service.h" |
49 #include "chrome/browser/webdata/web_data_service.h" | 49 #include "chrome/browser/webdata/web_data_service.h" |
| 50 #include "chrome/browser/webdata/web_data_service_factory.h" |
50 #include "chrome/common/chrome_switches.h" | 51 #include "chrome/common/chrome_switches.h" |
51 #include "chrome/common/pref_names.h" | 52 #include "chrome/common/pref_names.h" |
52 #include "content/public/browser/browser_thread.h" | 53 #include "content/public/browser/browser_thread.h" |
53 | 54 |
54 using browser_sync::AppNotificationDataTypeController; | 55 using browser_sync::AppNotificationDataTypeController; |
55 using browser_sync::AutofillDataTypeController; | 56 using browser_sync::AutofillDataTypeController; |
56 using browser_sync::AutofillProfileDataTypeController; | 57 using browser_sync::AutofillProfileDataTypeController; |
57 using browser_sync::BookmarkChangeProcessor; | 58 using browser_sync::BookmarkChangeProcessor; |
58 using browser_sync::BookmarkDataTypeController; | 59 using browser_sync::BookmarkDataTypeController; |
59 using browser_sync::BookmarkModelAssociator; | 60 using browser_sync::BookmarkModelAssociator; |
(...skipping 20 matching lines...) Expand all Loading... |
80 using browser_sync::TypedUrlModelAssociator; | 81 using browser_sync::TypedUrlModelAssociator; |
81 using browser_sync::UIDataTypeController; | 82 using browser_sync::UIDataTypeController; |
82 using browser_sync::DataTypeErrorHandler; | 83 using browser_sync::DataTypeErrorHandler; |
83 using content::BrowserThread; | 84 using content::BrowserThread; |
84 | 85 |
85 ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl( | 86 ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl( |
86 Profile* profile, CommandLine* command_line) | 87 Profile* profile, CommandLine* command_line) |
87 : profile_(profile), | 88 : profile_(profile), |
88 command_line_(command_line), | 89 command_line_(command_line), |
89 extension_system_( | 90 extension_system_( |
90 ExtensionSystem::Get(profile)) { | 91 ExtensionSystemFactory::GetForProfile(profile)), |
| 92 web_data_service_(WebDataServiceFactory::GetForProfile( |
| 93 profile_, Profile::IMPLICIT_ACCESS)) { |
| 94 } |
| 95 |
| 96 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() { |
91 } | 97 } |
92 | 98 |
93 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( | 99 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( |
94 ProfileSyncService* pss) { | 100 ProfileSyncService* pss) { |
95 // App sync is enabled by default. Register unless explicitly | 101 // App sync is enabled by default. Register unless explicitly |
96 // disabled. | 102 // disabled. |
97 if (!command_line_->HasSwitch(switches::kDisableSyncApps)) { | 103 if (!command_line_->HasSwitch(switches::kDisableSyncApps)) { |
98 pss->RegisterDataTypeController( | 104 pss->RegisterDataTypeController( |
99 new ExtensionDataTypeController(syncable::APPS, this, profile_, pss)); | 105 new ExtensionDataTypeController(syncable::APPS, this, profile_, pss)); |
100 } | 106 } |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 base::WeakPtr<SyncableService> ProfileSyncComponentsFactoryImpl:: | 226 base::WeakPtr<SyncableService> ProfileSyncComponentsFactoryImpl:: |
221 GetSyncableServiceForType(syncable::ModelType type) { | 227 GetSyncableServiceForType(syncable::ModelType type) { |
222 if (!profile_) { // For tests. | 228 if (!profile_) { // For tests. |
223 return base::WeakPtr<SyncableService>(); | 229 return base::WeakPtr<SyncableService>(); |
224 } | 230 } |
225 switch (type) { | 231 switch (type) { |
226 case syncable::PREFERENCES: | 232 case syncable::PREFERENCES: |
227 return profile_->GetPrefs()->GetSyncableService()->AsWeakPtr(); | 233 return profile_->GetPrefs()->GetSyncableService()->AsWeakPtr(); |
228 case syncable::AUTOFILL: | 234 case syncable::AUTOFILL: |
229 case syncable::AUTOFILL_PROFILE: { | 235 case syncable::AUTOFILL_PROFILE: { |
230 WebDataService* wds = | 236 if (!web_data_service_.get()) |
231 profile_->GetWebDataService(Profile::IMPLICIT_ACCESS); | |
232 if (!wds) | |
233 return base::WeakPtr<SyncableService>(); | 237 return base::WeakPtr<SyncableService>(); |
234 if (type == syncable::AUTOFILL) | 238 if (type == syncable::AUTOFILL) { |
235 return wds->GetAutocompleteSyncableService()->AsWeakPtr(); | 239 return web_data_service_->GetAutocompleteSyncableService()->AsWeakPtr(); |
236 else | 240 } else { |
237 return wds->GetAutofillProfileSyncableService()->AsWeakPtr(); | 241 return web_data_service_-> |
| 242 GetAutofillProfileSyncableService()->AsWeakPtr(); |
| 243 } |
238 } | 244 } |
239 case syncable::APPS: | 245 case syncable::APPS: |
240 case syncable::EXTENSIONS: | 246 case syncable::EXTENSIONS: |
241 return extension_system_->extension_service()->AsWeakPtr(); | 247 return extension_system_->extension_service()->AsWeakPtr(); |
242 case syncable::SEARCH_ENGINES: | 248 case syncable::SEARCH_ENGINES: |
243 return TemplateURLServiceFactory::GetForProfile(profile_)->AsWeakPtr(); | 249 return TemplateURLServiceFactory::GetForProfile(profile_)->AsWeakPtr(); |
244 case syncable::APP_SETTINGS: | 250 case syncable::APP_SETTINGS: |
245 case syncable::EXTENSION_SETTINGS: | 251 case syncable::EXTENSION_SETTINGS: |
246 return extension_system_->extension_service()->settings_frontend()-> | 252 return extension_system_->extension_service()->settings_frontend()-> |
247 GetBackendForSync(type)->AsWeakPtr(); | 253 GetBackendForSync(type)->AsWeakPtr(); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 ProfileSyncComponentsFactory::SyncComponents | 340 ProfileSyncComponentsFactory::SyncComponents |
335 ProfileSyncComponentsFactoryImpl::CreateSessionSyncComponents( | 341 ProfileSyncComponentsFactoryImpl::CreateSessionSyncComponents( |
336 ProfileSyncService* profile_sync_service, | 342 ProfileSyncService* profile_sync_service, |
337 DataTypeErrorHandler* error_handler) { | 343 DataTypeErrorHandler* error_handler) { |
338 SessionModelAssociator* model_associator = | 344 SessionModelAssociator* model_associator = |
339 new SessionModelAssociator(profile_sync_service, error_handler); | 345 new SessionModelAssociator(profile_sync_service, error_handler); |
340 SessionChangeProcessor* change_processor = | 346 SessionChangeProcessor* change_processor = |
341 new SessionChangeProcessor(error_handler, model_associator); | 347 new SessionChangeProcessor(error_handler, model_associator); |
342 return SyncComponents(model_associator, change_processor); | 348 return SyncComponents(model_associator, change_processor); |
343 } | 349 } |
OLD | NEW |