| 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 d8eb70792dda4540506551365c6df7b82b981cf5..c40a1847ea324bb4b3c290f1b51336db8a612108 100644
|
| --- a/chrome/browser/sync/sessions/sessions_sync_manager.cc
|
| +++ b/chrome/browser/sync/sessions/sessions_sync_manager.cc
|
| @@ -122,7 +122,7 @@ syncer::SyncMergeResult SessionsSyncManager::MergeDataAndStartSyncing(
|
| base_specifics->set_session_tag(current_machine_tag());
|
| sync_pb::SessionHeader* header_s = base_specifics->mutable_header();
|
| header_s->set_client_name(current_session_name_);
|
| - header_s->set_device_type(DeviceInfo::GetLocalDeviceType());
|
| + header_s->set_device_type(local_device_info->device_type());
|
| syncer::SyncData data = syncer::SyncData::CreateLocalData(
|
| current_machine_tag(), current_session_name_, specifics);
|
| new_changes.push_back(syncer::SyncChange(
|
| @@ -158,7 +158,11 @@ void SessionsSyncManager::AssociateWindows(
|
| SyncedSession* current_session = session_tracker_.GetSession(local_tag);
|
| current_session->modified_time = base::Time::Now();
|
| header_s->set_client_name(current_session_name_);
|
| - header_s->set_device_type(DeviceInfo::GetLocalDeviceType());
|
| + // SessionDataTypeController ensures that the local device info
|
| + // is available before activating this datatype.
|
| + DCHECK(local_device_);
|
| + const DeviceInfo* local_device_info = local_device_->GetLocalDeviceInfo();
|
| + header_s->set_device_type(local_device_info->device_type());
|
|
|
| session_tracker_.ResetSessionTracking(local_tag);
|
| std::set<SyncedWindowDelegate*> windows =
|
|
|