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

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

Issue 2847803008: ProfileSyncService: Handle null SupervisedUserService (Closed)
Patch Set: break Created 3 years, 7 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/sync/chrome_sync_client.h" 5 #include "chrome/browser/sync/chrome_sync_client.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 return SupervisedUserSettingsServiceFactory::GetForProfile(profile_)-> 440 return SupervisedUserSettingsServiceFactory::GetForProfile(profile_)->
441 AsWeakPtr(); 441 AsWeakPtr();
442 #if !defined(OS_ANDROID) 442 #if !defined(OS_ANDROID)
443 case syncer::SUPERVISED_USERS: 443 case syncer::SUPERVISED_USERS:
444 return SupervisedUserSyncServiceFactory::GetForProfile(profile_)-> 444 return SupervisedUserSyncServiceFactory::GetForProfile(profile_)->
445 AsWeakPtr(); 445 AsWeakPtr();
446 case syncer::SUPERVISED_USER_SHARED_SETTINGS: 446 case syncer::SUPERVISED_USER_SHARED_SETTINGS:
447 return SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext( 447 return SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(
448 profile_)->AsWeakPtr(); 448 profile_)->AsWeakPtr();
449 #endif // !defined(OS_ANDROID) 449 #endif // !defined(OS_ANDROID)
450 case syncer::SUPERVISED_USER_WHITELISTS: 450 case syncer::SUPERVISED_USER_WHITELISTS: {
451 return SupervisedUserServiceFactory::GetForProfile(profile_) 451 // SupervisedUserServiceFactory depends on ProfileSyncServiceFactory
skym 2017/05/01 17:24:03 I'd rephrase this to talk about the dep in the oth
Marc Treib 2017/05/02 08:27:36 +1
rishiag 2017/05/05 17:22:02 Done.
452 ->GetWhitelistService() 452 // so SupervisedUserService might be destroyed before ProfileSyncService.
453 ->AsWeakPtr(); 453 SupervisedUserService* supervised_user_service =
454 SupervisedUserServiceFactory::GetForProfile(profile_);
Marc Treib 2017/05/02 08:27:36 SupervisedUserServiceFactory::GetForProfile will c
rishiag 2017/05/05 17:22:02 Done.
455 if (supervised_user_service)
456 return supervised_user_service->GetWhitelistService()->AsWeakPtr();
457 return base::WeakPtr<syncer::SyncableService>();
458 }
454 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) 459 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS)
455 case syncer::ARTICLES: { 460 case syncer::ARTICLES: {
456 dom_distiller::DomDistillerService* service = 461 dom_distiller::DomDistillerService* service =
457 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( 462 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext(
458 profile_); 463 profile_);
459 if (service) 464 if (service)
460 return service->GetSyncableService()->AsWeakPtr(); 465 return service->GetSyncableService()->AsWeakPtr();
461 return base::WeakPtr<syncer::SyncableService>(); 466 return base::WeakPtr<syncer::SyncableService>();
462 } 467 }
463 case syncer::SESSIONS: { 468 case syncer::SESSIONS: {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 case syncer::AUTOFILL: 505 case syncer::AUTOFILL:
501 return autofill::AutocompleteSyncBridge::FromWebDataService( 506 return autofill::AutocompleteSyncBridge::FromWebDataService(
502 web_data_service_.get()); 507 web_data_service_.get());
503 #if defined(OS_CHROMEOS) 508 #if defined(OS_CHROMEOS)
504 case syncer::PRINTERS: 509 case syncer::PRINTERS:
505 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) 510 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_)
506 ->GetSyncBridge() 511 ->GetSyncBridge()
507 ->AsWeakPtr(); 512 ->AsWeakPtr();
508 #endif // defined(OS_CHROMEOS) 513 #endif // defined(OS_CHROMEOS)
509 case syncer::TYPED_URLS: 514 case syncer::TYPED_URLS:
510 // TODO(gangwu):implement TypedURLSyncBridge and return real 515 // TODO(gangwu): Implement TypedURLSyncBridge and return real
511 // TypedURLSyncBridge here. 516 // TypedURLSyncBridge here.
512 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); 517 return base::WeakPtr<syncer::ModelTypeSyncBridge>();
513 default: 518 default:
514 NOTREACHED(); 519 NOTREACHED();
515 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); 520 return base::WeakPtr<syncer::ModelTypeSyncBridge>();
516 } 521 }
517 } 522 }
518 523
519 scoped_refptr<syncer::ModelSafeWorker> 524 scoped_refptr<syncer::ModelSafeWorker>
520 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { 525 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) {
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 sync_service->RegisterDataTypeController( 711 sync_service->RegisterDataTypeController(
707 base::MakeUnique<SupervisedUserSyncDataTypeController>( 712 base::MakeUnique<SupervisedUserSyncDataTypeController>(
708 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); 713 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_));
709 sync_service->RegisterDataTypeController( 714 sync_service->RegisterDataTypeController(
710 base::MakeUnique<SupervisedUserSyncDataTypeController>( 715 base::MakeUnique<SupervisedUserSyncDataTypeController>(
711 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); 716 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_));
712 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) 717 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS)
713 } 718 }
714 719
715 } // namespace browser_sync 720 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_service_factory.cc ('k') | chrome/browser/sync/profile_sync_service_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698