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

Unified Diff: chrome/browser/sync/glue/synced_session.h

Issue 10125002: [Sync] Add per-navigation timestamps/unique ids to tab sync. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 8 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: chrome/browser/sync/glue/synced_session.h
diff --git a/chrome/browser/sync/glue/synced_session.h b/chrome/browser/sync/glue/synced_session.h
index c87cc282a8cab5627a10f29e05e6fefe9c3656f9..b886a55dcf0fdc766e5a1421b11f326d8b6ad517 100644
--- a/chrome/browser/sync/glue/synced_session.h
+++ b/chrome/browser/sync/glue/synced_session.h
@@ -11,12 +11,54 @@
#include "base/time.h"
#include "chrome/browser/sessions/session_id.h"
+#include "chrome/browser/sessions/session_types.h"
-struct SessionTab;
-struct SessionWindow;
+namespace content {
+class NavigationEntry;
+}
namespace browser_sync {
+// Sync-specific wrapper around a normal TabNavigation.
+// Copy semantics supported.
+class SyncedTabNavigation : public TabNavigation {
+ public:
+ SyncedTabNavigation();
+ SyncedTabNavigation(const SyncedTabNavigation& tab);
+ SyncedTabNavigation(int index,
+ const GURL& virtual_url,
+ const content::Referrer& referrer,
+ const string16& title,
+ const std::string& state,
+ content::PageTransition transition,
+ int unique_id,
+ const base::Time& timestamp);
+ virtual ~SyncedTabNavigation();
+
+ // Unique id for this navigation.
+ void set_unique_id(int unique_id);
+ int unique_id() const;
+
+ // Timestamp this navigation occurred.
+ void set_timestamp(const base::Time& timestamp);
+ base::Time timestamp() const;
+
+ private:
+ int unique_id_;
+ base::Time timestamp_;
+};
+
+// Sync-specific wrapper around a normal SessionTab to support using
+// SyncedTabNavigation.
+struct SyncedSessionTab : public SessionTab {
+ public:
+ SyncedSessionTab();
+ ~SyncedSessionTab();
+
+
+ std::vector<SyncedTabNavigation> synced_tab_navigations;
+};
+
// Defines a synced session for use by session sync. A synced session is a
// list of windows along with a unique session identifer (tag) and meta-data
// about the device being synced.

Powered by Google App Engine
This is Rietveld 408576698