Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Unified Diff: components/sync_sessions/sessions_sync_manager.cc

Issue 2776633003: Add taskid for navigation, created in session sync (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698