| Index: chrome/browser/sync/profile_sync_service.cc
|
| diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
|
| index f76ba5b5499b831a5d5b48e2a154638880222b38..cd24db0e80278c188cf754857b136e9bfc390a6c 100644
|
| --- a/chrome/browser/sync/profile_sync_service.cc
|
| +++ b/chrome/browser/sync/profile_sync_service.cc
|
| @@ -186,7 +186,7 @@
|
| }
|
|
|
| ProfileSyncService::ProfileSyncService(
|
| - scoped_ptr<ProfileSyncComponentsFactory> factory,
|
| + ProfileSyncComponentsFactory* factory,
|
| Profile* profile,
|
| scoped_ptr<SupervisedUserSigninManagerWrapper> signin_wrapper,
|
| ProfileOAuth2TokenService* oauth2_token_service,
|
| @@ -194,7 +194,7 @@
|
| : OAuth2TokenService::Consumer("sync"),
|
| last_auth_error_(AuthError::AuthErrorNone()),
|
| passphrase_required_reason_(syncer::REASON_PASSPHRASE_NOT_REQUIRED),
|
| - factory_(factory.Pass()),
|
| + factory_(factory),
|
| profile_(profile),
|
| sync_prefs_(profile_->GetPrefs()),
|
| sync_service_url_(GetSyncServiceURL(*CommandLine::ForCurrentProcess())),
|
| @@ -241,11 +241,8 @@
|
| sync_start_util::GetFlareForSyncableService(profile->GetPath()));
|
| scoped_ptr<browser_sync::LocalSessionEventRouter> router(
|
| new NotificationServiceSessionsRouter(profile, flare));
|
| -
|
| - DCHECK(factory_.get());
|
| - local_device_ = factory_->CreateLocalDeviceInfoProvider();
|
| sessions_sync_manager_.reset(
|
| - new SessionsSyncManager(profile, local_device_.get(), router.Pass()));
|
| + new SessionsSyncManager(profile, this, router.Pass()));
|
| }
|
|
|
| ProfileSyncService::~ProfileSyncService() {
|
| @@ -425,14 +422,15 @@
|
| return sessions_sync_manager_->GetFaviconCache();
|
| }
|
|
|
| -browser_sync::SyncedWindowDelegatesGetter*
|
| -ProfileSyncService::GetSyncedWindowDelegatesGetter() const {
|
| - return sessions_sync_manager_->GetSyncedWindowDelegatesGetter();
|
| -}
|
| -
|
| -browser_sync::LocalDeviceInfoProvider*
|
| -ProfileSyncService::GetLocalDeviceInfoProvider() {
|
| - return local_device_.get();
|
| +scoped_ptr<browser_sync::DeviceInfo>
|
| +ProfileSyncService::GetLocalDeviceInfo() const {
|
| + if (HasSyncingBackend()) {
|
| + browser_sync::SyncedDeviceTracker* device_tracker =
|
| + backend_->GetSyncedDeviceTracker();
|
| + if (device_tracker)
|
| + return device_tracker->ReadLocalDeviceInfo();
|
| + }
|
| + return scoped_ptr<browser_sync::DeviceInfo>();
|
| }
|
|
|
| scoped_ptr<browser_sync::DeviceInfo>
|
| @@ -458,6 +456,17 @@
|
| }
|
| }
|
| return devices.Pass();
|
| +}
|
| +
|
| +std::string ProfileSyncService::GetLocalSyncCacheGUID() const {
|
| + if (HasSyncingBackend()) {
|
| + browser_sync::SyncedDeviceTracker* device_tracker =
|
| + backend_->GetSyncedDeviceTracker();
|
| + if (device_tracker) {
|
| + return device_tracker->cache_guid();
|
| + }
|
| + }
|
| + return std::string();
|
| }
|
|
|
| // Notifies the observer of any device info changes.
|
| @@ -1059,7 +1068,6 @@
|
| const syncer::WeakHandle<syncer::JsBackend>& js_backend,
|
| const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>&
|
| debug_info_listener,
|
| - const std::string& cache_guid,
|
| bool success) {
|
| UpdateBackendInitUMA(success);
|
|
|
| @@ -1087,9 +1095,6 @@
|
|
|
| sync_js_controller_.AttachJsBackend(js_backend);
|
| debug_info_listener_ = debug_info_listener;
|
| -
|
| - // Initialize local device info.
|
| - local_device_->Initialize(cache_guid);
|
|
|
| // Give the DataTypeControllers a handle to the now initialized backend
|
| // as a UserShare.
|
|
|