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

Unified Diff: components/sync_sessions/sessions_sync_manager.cc

Issue 2776633003: Add taskid for navigation, created in session sync (Closed)
Patch Set: comments and refactoring 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..9796d4079906503ca31b35d2c866290fa177a275 100644
--- a/components/sync_sessions/sessions_sync_manager.cc
+++ b/components/sync_sessions/sessions_sync_manager.cc
@@ -121,7 +121,8 @@ SessionsSyncManager::SessionsSyncManager(
LocalDeviceInfoProvider* local_device,
std::unique_ptr<LocalSessionEventRouter> router,
const base::Closure& sessions_updated_callback,
- const base::Closure& datatype_refresh_callback)
+ const base::Closure& datatype_refresh_callback,
+ std::unique_ptr<base::Clock> clock)
: sessions_client_(sessions_client),
session_tracker_(sessions_client),
favicon_cache_(sessions_client->GetFaviconService(),
@@ -136,7 +137,8 @@ SessionsSyncManager::SessionsSyncManager(
local_event_router_(std::move(router)),
page_revisit_broadcaster_(this, sessions_client),
sessions_updated_callback_(sessions_updated_callback),
- datatype_refresh_callback_(datatype_refresh_callback) {}
+ datatype_refresh_callback_(datatype_refresh_callback),
+ task_tracker_(base::MakeUnique<TaskTracker>(std::move(clock))) {}
SessionsSyncManager::~SessionsSyncManager() {}
@@ -389,8 +391,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 +1038,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 +1060,13 @@ void SessionsSyncManager::SetSessionTabFromDelegate(
bool is_supervised = tab_delegate.ProfileIsSupervised();
session_tab->navigations.clear();
+ if (tab_tasks != nullptr)
+ tab_tasks->UpdateTask(current_index,
Nicolas Zea 2017/03/27 20:43:52 nit: curly braces around multi-line if
shenchao 2017/04/06 00:54:55 Done.
+ tab_delegate.GetTransitionAtIndex(current_index));
+
+ DVLOG(0) << "current_index: " << current_index << " of "
Nicolas Zea 2017/03/27 20:43:52 Did you mean to leave this?
shenchao 2017/04/06 00:54:55 Done.
+ << tab_delegate.GetEntryCount();
+
for (int i = min_index; i < max_index; ++i) {
if (!tab_delegate.GetVirtualURLAtIndex(i).is_valid())
continue;
@@ -1065,6 +1077,9 @@ void SessionsSyncManager::SetSessionTabFromDelegate(
if (i == current_index)
session_tab->current_navigation_index = session_tab->navigations.size();
+ if (tab_tasks != nullptr && i < tab_tasks->GetNavigationsCount())
+ serialized_entry.set_task_id(tab_tasks->GetTaskIdAtNavIndex(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