Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: chrome/browser/sync/profile_sync_components_factory_impl.cc

Issue 11745024: Synced Notification Sync Change Processor (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Synced Notification Change Processor - remove unused header Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/profiles/profile_dependency_manager.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/bookmarks/bookmark_model_factory.h" 7 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
8 #include "chrome/browser/extensions/api/storage/settings_frontend.h" 8 #include "chrome/browser/extensions/api/storage/settings_frontend.h"
9 #include "chrome/browser/extensions/app_notification_manager.h" 9 #include "chrome/browser/extensions/app_notification_manager.h"
10 #include "chrome/browser/extensions/extension_service.h" 10 #include "chrome/browser/extensions/extension_service.h"
11 #include "chrome/browser/extensions/extension_system.h" 11 #include "chrome/browser/extensions/extension_system.h"
12 #include "chrome/browser/extensions/extension_system_factory.h" 12 #include "chrome/browser/extensions/extension_system_factory.h"
13 #include "chrome/browser/history/history_service.h" 13 #include "chrome/browser/history/history_service.h"
14 #include "chrome/browser/history/history_service_factory.h" 14 #include "chrome/browser/history/history_service_factory.h"
15 #if !defined(OS_ANDROID)
16 #include "chrome/browser/notifications/sync_notifier/chrome_notifier_service.h"
17 #include "chrome/browser/notifications/sync_notifier/chrome_notifier_service_fac tory.h"
18 #endif
15 #include "chrome/browser/prefs/pref_model_associator.h" 19 #include "chrome/browser/prefs/pref_model_associator.h"
16 #include "chrome/browser/prefs/pref_service_syncable.h" 20 #include "chrome/browser/prefs/pref_service_syncable.h"
17 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/browser/search_engines/template_url_service.h" 22 #include "chrome/browser/search_engines/template_url_service.h"
19 #include "chrome/browser/search_engines/template_url_service_factory.h" 23 #include "chrome/browser/search_engines/template_url_service_factory.h"
20 #include "chrome/browser/signin/signin_manager.h" 24 #include "chrome/browser/signin/signin_manager.h"
21 #include "chrome/browser/signin/signin_manager_factory.h" 25 #include "chrome/browser/signin/signin_manager_factory.h"
22 #include "chrome/browser/spellchecker/spellcheck_factory.h" 26 #include "chrome/browser/spellchecker/spellcheck_factory.h"
23 #include "chrome/browser/spellchecker/spellcheck_service.h" 27 #include "chrome/browser/spellchecker/spellcheck_service.h"
24 #include "chrome/browser/sync/glue/app_notification_data_type_controller.h" 28 #include "chrome/browser/sync/glue/app_notification_data_type_controller.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 // Unless it is explicitly disabled, history delete directive sync is 234 // Unless it is explicitly disabled, history delete directive sync is
231 // enabled whenever full history sync is enabled. 235 // enabled whenever full history sync is enabled.
232 if (command_line_->HasSwitch(switches::kHistoryEnableFullHistorySync) && 236 if (command_line_->HasSwitch(switches::kHistoryEnableFullHistorySync) &&
233 !command_line_->HasSwitch( 237 !command_line_->HasSwitch(
234 switches::kDisableSyncHistoryDeleteDirectives)) { 238 switches::kDisableSyncHistoryDeleteDirectives)) {
235 pss->RegisterDataTypeController( 239 pss->RegisterDataTypeController(
236 new UIDataTypeController( 240 new UIDataTypeController(
237 syncer::HISTORY_DELETE_DIRECTIVES, this, profile_, pss)); 241 syncer::HISTORY_DELETE_DIRECTIVES, this, profile_, pss));
238 } 242 }
239 243
244 // Synced Notifications sync is disabled by default.
245 // TODO(petewil): Switch to enabled by default once datatype support is done.
246 if (command_line_->HasSwitch(switches::kEnableSyncSyncedNotifications)) {
247 #if !defined(OS_ANDROID)
248 pss->RegisterDataTypeController(
249 new UIDataTypeController(
250 syncer::SYNCED_NOTIFICATIONS, this, profile_, pss));
251 #endif
252 }
253
240 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) 254 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
241 // Dictionary sync is enabled by default. 255 // Dictionary sync is enabled by default.
242 if (!command_line_->HasSwitch(switches::kDisableSyncDictionary)) { 256 if (!command_line_->HasSwitch(switches::kDisableSyncDictionary)) {
243 pss->RegisterDataTypeController( 257 pss->RegisterDataTypeController(
244 new UIDataTypeController(syncer::DICTIONARY, this, profile_, pss)); 258 new UIDataTypeController(syncer::DICTIONARY, this, profile_, pss));
245 } 259 }
246 #endif 260 #endif
261
247 } 262 }
248 263
249 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( 264 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager(
250 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& 265 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>&
251 debug_info_listener, 266 debug_info_listener,
252 SyncBackendHost* backend, 267 SyncBackendHost* backend,
253 const DataTypeController::TypeMap* controllers, 268 const DataTypeController::TypeMap* controllers,
254 DataTypeManagerObserver* observer, 269 DataTypeManagerObserver* observer,
255 const FailedDatatypesHandler* failed_datatypes_handler) { 270 const FailedDatatypesHandler* failed_datatypes_handler) {
256 return new DataTypeManagerImpl(debug_info_listener, 271 return new DataTypeManagerImpl(debug_info_listener,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 case syncer::THEMES: 329 case syncer::THEMES:
315 return ThemeServiceFactory::GetForProfile(profile_)-> 330 return ThemeServiceFactory::GetForProfile(profile_)->
316 GetThemeSyncableService()->AsWeakPtr(); 331 GetThemeSyncableService()->AsWeakPtr();
317 #endif 332 #endif
318 case syncer::HISTORY_DELETE_DIRECTIVES: { 333 case syncer::HISTORY_DELETE_DIRECTIVES: {
319 HistoryService* history = 334 HistoryService* history =
320 HistoryServiceFactory::GetForProfile( 335 HistoryServiceFactory::GetForProfile(
321 profile_, Profile::EXPLICIT_ACCESS); 336 profile_, Profile::EXPLICIT_ACCESS);
322 return history ? history->AsWeakPtr() : base::WeakPtr<HistoryService>(); 337 return history ? history->AsWeakPtr() : base::WeakPtr<HistoryService>();
323 } 338 }
339
340 #if !defined(OS_ANDROID)
341 case syncer::SYNCED_NOTIFICATIONS: {
342 notifier::ChromeNotifierService* notifier_service =
343 notifier::ChromeNotifierServiceFactory::GetForProfile(
344 profile_, Profile::EXPLICIT_ACCESS);
345 return notifier_service ? notifier_service->AsWeakPtr()
346 : base::WeakPtr<syncer::SyncableService>();
347 }
348 #endif
349
324 case syncer::DICTIONARY: 350 case syncer::DICTIONARY:
325 return SpellcheckServiceFactory::GetForProfile(profile_)-> 351 return SpellcheckServiceFactory::GetForProfile(profile_)->
326 GetCustomDictionary()->AsWeakPtr(); 352 GetCustomDictionary()->AsWeakPtr();
353
327 default: 354 default:
328 // The following datatypes still need to be transitioned to the 355 // The following datatypes still need to be transitioned to the
329 // syncer::SyncableService API: 356 // syncer::SyncableService API:
330 // Bookmarks 357 // Bookmarks
331 // Passwords 358 // Passwords
332 // Sessions 359 // Sessions
333 // Typed URLs 360 // Typed URLs
334 NOTREACHED(); 361 NOTREACHED();
335 return base::WeakPtr<syncer::SyncableService>(); 362 return base::WeakPtr<syncer::SyncableService>();
336 } 363 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 ProfileSyncComponentsFactory::SyncComponents 423 ProfileSyncComponentsFactory::SyncComponents
397 ProfileSyncComponentsFactoryImpl::CreateSessionSyncComponents( 424 ProfileSyncComponentsFactoryImpl::CreateSessionSyncComponents(
398 ProfileSyncService* profile_sync_service, 425 ProfileSyncService* profile_sync_service,
399 DataTypeErrorHandler* error_handler) { 426 DataTypeErrorHandler* error_handler) {
400 SessionModelAssociator* model_associator = 427 SessionModelAssociator* model_associator =
401 new SessionModelAssociator(profile_sync_service, error_handler); 428 new SessionModelAssociator(profile_sync_service, error_handler);
402 SessionChangeProcessor* change_processor = 429 SessionChangeProcessor* change_processor =
403 new SessionChangeProcessor(error_handler, model_associator); 430 new SessionChangeProcessor(error_handler, model_associator);
404 return SyncComponents(model_associator, change_processor); 431 return SyncComponents(model_associator, change_processor);
405 } 432 }
OLDNEW
« no previous file with comments | « chrome/browser/profiles/profile_dependency_manager.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698