| Index: components/sync_sessions/sessions_sync_manager.cc
|
| diff --git a/components/sync_sessions/sessions_sync_manager.cc b/components/sync_sessions/sessions_sync_manager.cc
|
| index d61d75591b9a75f8bf94956cfdbe0bec00c1797b..e4491281d7b4834f4336d54d59d384387791918b 100644
|
| --- a/components/sync_sessions/sessions_sync_manager.cc
|
| +++ b/components/sync_sessions/sessions_sync_manager.cc
|
| @@ -389,8 +389,10 @@ void SessionsSyncManager::AssociateTab(SyncedTabDelegate* const tab_delegate,
|
| if (session_tab->navigations.size() > static_cast<size_t>(old_index))
|
| old_url = session_tab->navigations[old_index].virtual_url();
|
|
|
| + TabTasks* tab_tasks = task_tracker_.GetTabTasks(tab_id);
|
| // Update the tracker's session representation.
|
| - SetSessionTabFromDelegate(*tab_delegate, base::Time::Now(), session_tab);
|
| + SetSessionTabFromDelegate(*tab_delegate, base::Time::Now(), session_tab,
|
| + tab_tasks);
|
| SetVariationIds(session_tab);
|
| session_tracker_.GetSession(current_machine_tag())->modified_time =
|
| base::Time::Now();
|
| @@ -1034,7 +1036,8 @@ void SessionsSyncManager::AssociateRestoredPlaceholderTab(
|
| void SessionsSyncManager::SetSessionTabFromDelegate(
|
| const SyncedTabDelegate& tab_delegate,
|
| base::Time mtime,
|
| - sessions::SessionTab* session_tab) {
|
| + sessions::SessionTab* session_tab,
|
| + TabTasks* tab_tasks) {
|
| DCHECK(session_tab);
|
| session_tab->window_id.set_id(tab_delegate.GetWindowId());
|
| session_tab->tab_id.set_id(tab_delegate.GetSessionId());
|
| @@ -1055,6 +1058,14 @@ void SessionsSyncManager::SetSessionTabFromDelegate(
|
| bool is_supervised = tab_delegate.ProfileIsSupervised();
|
| session_tab->navigations.clear();
|
|
|
| + if (tab_tasks != nullptr)
|
| + tab_tasks->UpdateTask(current_index,
|
| + tab_delegate.GetTransitionAtIndex(current_index),
|
| + mtime.ToTimeT());
|
| +
|
| + DVLOG(0) << "current_index: " << current_index << " of "
|
| + << tab_delegate.GetEntryCount();
|
| +
|
| for (int i = min_index; i < max_index; ++i) {
|
| if (!tab_delegate.GetVirtualURLAtIndex(i).is_valid())
|
| continue;
|
| @@ -1065,6 +1076,9 @@ void SessionsSyncManager::SetSessionTabFromDelegate(
|
| if (i == current_index)
|
| session_tab->current_navigation_index = session_tab->navigations.size();
|
|
|
| + if (tab_tasks != nullptr && i < tab_tasks->GetNavigationsNum())
|
| + serialized_entry.set_task_id(tab_tasks->GetTaskIdAtNav(i));
|
| +
|
| session_tab->navigations.push_back(serialized_entry);
|
| if (is_supervised) {
|
| session_tab->navigations.back().set_blocked_state(
|
|
|