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..ca303a78dc69b228ea780723772ee8d975d95311 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,11 @@ class SessionsSyncManager : public syncer::SyncableService, |
void LocalTabDelegateToSpecifics(const SyncedTabDelegate& tab_delegate, |
sync_pb::SessionSpecifics* specifics); |
+ // Updates task tracker with current navigation of |tab_delegate|, and fills |
+ // TabNavigation's task id related fields in |specifics|. |
+ void TrackTasks(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 +329,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); |
}; |