diff options
Diffstat (limited to 'chrome/browser/sync/sessions/sessions_sync_manager.cc')
-rw-r--r-- | chrome/browser/sync/sessions/sessions_sync_manager.cc | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/chrome/browser/sync/sessions/sessions_sync_manager.cc b/chrome/browser/sync/sessions/sessions_sync_manager.cc index 069f1f2..72a01d2 100644 --- a/chrome/browser/sync/sessions/sessions_sync_manager.cc +++ b/chrome/browser/sync/sessions/sessions_sync_manager.cc @@ -6,7 +6,6 @@ #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/sync/glue/local_device_info_provider.h" #include "chrome/browser/sync/glue/synced_tab_delegate.h" #include "chrome/browser/sync/glue/synced_window_delegate.h" #include "chrome/browser/sync/sessions/sessions_util.h" @@ -45,17 +44,15 @@ static const char kNTPOpenTabSyncURL[] = "chrome://newtab/#open_tabs"; // stale and becomes a candidate for garbage collection. static const size_t kDefaultStaleSessionThresholdDays = 14; // 2 weeks. -// |local_device| is owned by ProfileSyncService, its lifetime exceeds -// lifetime of SessionSyncManager. SessionsSyncManager::SessionsSyncManager( Profile* profile, - LocalDeviceInfoProvider* local_device, + SyncInternalApiDelegate* delegate, scoped_ptr<LocalSessionEventRouter> router) : favicon_cache_(profile, kMaxSyncFavicons), local_tab_pool_out_of_sync_(true), sync_prefs_(profile->GetPrefs()), profile_(profile), - local_device_(local_device), + delegate_(delegate), local_session_header_node_id_(TabNodePool::kInvalidTabNodeID), stale_session_threshold_days_(kDefaultStaleSessionThresholdDays), local_event_router_(router.Pass()), @@ -88,31 +85,24 @@ syncer::SyncMergeResult SessionsSyncManager::MergeDataAndStartSyncing( sync_processor_ = sync_processor.Pass(); local_session_header_node_id_ = TabNodePool::kInvalidTabNodeID; + scoped_ptr<DeviceInfo> local_device_info(delegate_->GetLocalDeviceInfo()); + syncer::SyncChangeList new_changes; // Make sure we have a machine tag. We do this now (versus earlier) as it's // a conveniently safe time to assert sync is ready and the cache_guid is // initialized. - if (current_machine_tag_.empty()) { + if (current_machine_tag_.empty()) InitializeCurrentMachineTag(); - } - - // SessionDataTypeController ensures that the local device info - // is available before activating this datatype. - DCHECK(local_device_); - const DeviceInfo* local_device_info = local_device_->GetLocalDeviceInfo(); if (local_device_info) { current_session_name_ = local_device_info->client_name(); } else { merge_result.set_error(error_handler_->CreateAndUploadError( FROM_HERE, - "Failed to get local device info.")); + "Failed to get device info for machine tag.")); return merge_result; } - session_tracker_.SetLocalSessionTag(current_machine_tag_); - syncer::SyncChangeList new_changes; - // First, we iterate over sync data to update our session_tracker_. syncer::SyncDataList restored_tabs; if (!InitFromSyncModel(initial_sync_data, &restored_tabs, &new_changes)) { @@ -131,7 +121,7 @@ syncer::SyncMergeResult SessionsSyncManager::MergeDataAndStartSyncing( #if defined(OS_ANDROID) std::string sync_machine_tag(BuildMachineTag( - local_device_->GetLocalSyncCacheGUID())); + delegate_->GetLocalSyncCacheGUID())); if (current_machine_tag_.compare(sync_machine_tag) != 0) DeleteForeignSessionInternal(sync_machine_tag, &new_changes); #endif @@ -649,10 +639,7 @@ void SessionsSyncManager::InitializeCurrentMachineTag() { current_machine_tag_ = persisted_guid; DVLOG(1) << "Restoring persisted session sync guid: " << persisted_guid; } else { - DCHECK(local_device_); - std::string cache_guid = local_device_->GetLocalSyncCacheGUID(); - DCHECK(!cache_guid.empty()); - current_machine_tag_ = BuildMachineTag(cache_guid); + current_machine_tag_ = BuildMachineTag(delegate_->GetLocalSyncCacheGUID()); DVLOG(1) << "Creating session sync guid: " << current_machine_tag_; sync_prefs_.SetSyncSessionsGUID(current_machine_tag_); } @@ -967,11 +954,6 @@ FaviconCache* SessionsSyncManager::GetFaviconCache() { return &favicon_cache_; } -SyncedWindowDelegatesGetter* -SessionsSyncManager::GetSyncedWindowDelegatesGetter() const { - return synced_window_getter_.get(); -} - void SessionsSyncManager::DoGarbageCollection() { std::vector<const SyncedSession*> sessions; if (!GetAllForeignSessions(&sessions)) |