| Index: chrome/browser/sync/glue/session_model_associator.h
|
| diff --git a/chrome/browser/sync/glue/session_model_associator.h b/chrome/browser/sync/glue/session_model_associator.h
|
| index 577b7cf8fd8041d00030bd0f6861e7ffd227fb53..00408fa3aef64aaceb9fc55283ca671d0574bc71 100644
|
| --- a/chrome/browser/sync/glue/session_model_associator.h
|
| +++ b/chrome/browser/sync/glue/session_model_associator.h
|
| @@ -29,6 +29,7 @@
|
| #include "chrome/browser/sync/glue/synced_session_tracker.h"
|
| #include "chrome/browser/sync/glue/synced_tab_delegate.h"
|
| #include "chrome/browser/sync/glue/synced_window_delegate.h"
|
| +#include "googleurl/src/gurl.h"
|
| #include "sync/internal_api/public/base/model_type.h"
|
|
|
| class Prefservice;
|
| @@ -403,6 +404,9 @@ class SessionModelAssociator
|
| syncer::WriteTransaction* trans,
|
| syncer::SyncError* error);
|
|
|
| + // Return the virtual URL of the current tab, even if it's pending.
|
| + static GURL GetCurrentVirtualURL(const SyncedTabDelegate& tab_delegate);
|
| +
|
| // Fills a tab sync node with data from a WebContents object. Updates
|
| // |tab_link| with the current url if it's valid and triggers a favicon
|
| // load if the url has changed.
|
| @@ -415,16 +419,16 @@ class SessionModelAssociator
|
| // if no page is found to be referring to the favicon anymore.
|
| void DecrementAndCleanFaviconForURL(const std::string& page_url);
|
|
|
| - // Helper method to build sync's tab specifics from a newly modified
|
| - // tab, window, and the locally stored previous tab data. After completing,
|
| - // |prev_tab| will be updated to reflect the current data, |sync_tab| will
|
| - // be filled with the tab data (preserving old timestamps as necessary), and
|
| - // |new_url| will be the tab's current url.
|
| - void AssociateTabContents(const SyncedWindowDelegate& window,
|
| - const SyncedTabDelegate& new_tab,
|
| - SessionTab* prev_tab,
|
| - sync_pb::SessionTab* sync_tab,
|
| - GURL* new_url);
|
| + // Helper method to update the given session tab from the given
|
| + // delegate (preserving old timestamps as necessary).
|
| + //
|
| + // TODO(akalin): Remove |default_navigation_timestamp| once we have
|
| + // a timestamp in NavigationEntry.
|
| + static void UpdateSessionTabFromDelegate(
|
| + const SyncedTabDelegate& tab_delegate,
|
| + base::Time mtime,
|
| + base::Time default_navigation_timestamp,
|
| + SessionTab* session_tab);
|
|
|
| // Load the favicon for the tab specified by |tab_link|. Will cancel any
|
| // outstanding request for this tab. OnFaviconDataAvailable(..) will be called
|
| @@ -441,7 +445,7 @@ class SessionModelAssociator
|
| // provided.
|
| static void PopulateSessionHeaderFromSpecifics(
|
| const sync_pb::SessionHeader& header_specifics,
|
| - const base::Time& mtime,
|
| + base::Time mtime,
|
| SyncedSession* session_header);
|
|
|
| // Used to populate a session window from the session specifics window
|
| @@ -449,15 +453,10 @@ class SessionModelAssociator
|
| static void PopulateSessionWindowFromSpecifics(
|
| const std::string& foreign_session_tag,
|
| const sync_pb::SessionWindow& window,
|
| - const base::Time& mtime,
|
| + base::Time mtime,
|
| SessionWindow* session_window,
|
| SyncedSessionTracker* tracker);
|
|
|
| - // Used to populate a session tab from the session specifics tab provided.
|
| - static void PopulateSessionTabFromSpecifics(const sync_pb::SessionTab& tab,
|
| - const base::Time& mtime,
|
| - SessionTab* session_tab);
|
| -
|
| // Helper method to load the favicon data from the tab specifics. If the
|
| // favicon is valid, stores the favicon data and increments the usage counter
|
| // in |synced_favicons_| and updates |synced_favicon_pages_| appropriately.
|
|
|