Index: components/sync_sessions/sessions_sync_manager.h |
diff --git a/components/sync_sessions/sessions_sync_manager.h b/components/sync_sessions/sessions_sync_manager.h |
index d685c65cd42b58f7cb22d4b2b3b6810761165eec..4366947c36da8c3ec7bb115487e39643439a7748 100644 |
--- a/components/sync_sessions/sessions_sync_manager.h |
+++ b/components/sync_sessions/sessions_sync_manager.h |
@@ -30,6 +30,7 @@ |
#include "components/sync_sessions/revisit/page_revisit_broadcaster.h" |
#include "components/sync_sessions/synced_session.h" |
#include "components/sync_sessions/synced_session_tracker.h" |
+#include "components/sync_sessions/task_tracker.h" |
namespace syncer { |
class LocalDeviceInfoProvider; |
@@ -238,6 +239,12 @@ class SessionsSyncManager : public syncer::SyncableService, |
void LocalTabDelegateToSpecifics(const SyncedTabDelegate& tab_delegate, |
sync_pb::SessionSpecifics* specifics); |
+ // Updates task tracker with current navigation, and fills TabNavigation's |
+ // task id related fields in |specifics|. |
+ void TrackTasks(SessionID::id_type tab_id, |
+ SyncedTabDelegate* const tab_delegate, |
+ sync_pb::SessionSpecifics* specifics); |
+ |
// It's possible that when we associate windows, tabs aren't all loaded |
// into memory yet (e.g on android) and we don't have a WebContents. In this |
// case we can't do a full association, but we still want to update tab IDs |
@@ -323,6 +330,10 @@ class SessionsSyncManager : public syncer::SyncableService, |
// Callback to inform sync that a sync data refresh is requested. |
base::Closure datatype_refresh_callback_; |
+ // Tracks Chrome Tasks, which associates navigations, with tab and navigation |
+ // changes of current session. |
+ std::unique_ptr<TaskTracker> task_tracker_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SessionsSyncManager); |
}; |