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 03001b436101ecf8c819835ded23f3aa16d15b2d..114afe17febd4a51a974684c232231b87726addd 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -240,8 +240,10 @@ ProfileSyncService::ProfileSyncService( |
sync_start_util::GetFlareForSyncableService(profile->GetPath())); |
scoped_ptr<browser_sync::LocalSessionEventRouter> router( |
new NotificationServiceSessionsRouter(profile, flare)); |
+ |
+ local_device_.reset(factory->CreateLocalDeviceInfoProvider()); |
sessions_sync_manager_.reset( |
- new SessionsSyncManager(profile, this, router.Pass())); |
+ new SessionsSyncManager(profile, local_device_.get(), router.Pass())); |
} |
ProfileSyncService::~ProfileSyncService() { |
@@ -421,15 +423,14 @@ browser_sync::FaviconCache* ProfileSyncService::GetFaviconCache() { |
return sessions_sync_manager_->GetFaviconCache(); |
} |
-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>(); |
+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> |
@@ -457,17 +458,6 @@ ScopedVector<browser_sync::DeviceInfo> |
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. |
void ProfileSyncService::AddObserverForDeviceInfoChange( |
browser_sync::SyncedDeviceTracker::Observer* observer) { |
@@ -1058,6 +1048,7 @@ void ProfileSyncService::OnBackendInitialized( |
const syncer::WeakHandle<syncer::JsBackend>& js_backend, |
const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& |
debug_info_listener, |
+ const std::string& cache_guid, |
bool success) { |
UpdateBackendInitUMA(success); |
@@ -1086,6 +1077,9 @@ void ProfileSyncService::OnBackendInitialized( |
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. |
for (DataTypeController::TypeMap::iterator it = |