| Index: chrome/browser/sync/sessions/sessions_sync_manager.cc
|
| diff --git a/chrome/browser/sync/sessions/sessions_sync_manager.cc b/chrome/browser/sync/sessions/sessions_sync_manager.cc
|
| index 069f1f2bb6f4137719a2a124dbfe4480245a36c9..72a01d2f8cfe792fa7dd8fbe87c829469535d734 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 @@
|
| // 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,30 +85,23 @@
|
| 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;
|
| @@ -131,7 +121,7 @@
|
|
|
| #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 @@
|
| 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 @@
|
| return &favicon_cache_;
|
| }
|
|
|
| -SyncedWindowDelegatesGetter*
|
| -SessionsSyncManager::GetSyncedWindowDelegatesGetter() const {
|
| - return synced_window_getter_.get();
|
| -}
|
| -
|
| void SessionsSyncManager::DoGarbageCollection() {
|
| std::vector<const SyncedSession*> sessions;
|
| if (!GetAllForeignSessions(&sessions))
|
|
|