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. |