diff options
author | haitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-06 22:58:35 +0000 |
---|---|---|
committer | haitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-06 22:58:35 +0000 |
commit | 097782be0628a771d04d49dbb06360b6232cb340 (patch) | |
tree | a5a8553b561d2805b3fb294001fd998e186acc80 /components/sessions | |
parent | cb174c1caa4e2b77965b84eab1a55d268f5efcf7 (diff) | |
download | chromium_src-097782be0628a771d04d49dbb06360b6232cb340.zip chromium_src-097782be0628a771d04d49dbb06360b6232cb340.tar.gz chromium_src-097782be0628a771d04d49dbb06360b6232cb340.tar.bz2 |
Add IsRestored() interface to NavigationEntry and use it to differentiate
normal and restored synced navigations.
BUG=340464
Review URL: https://codereview.chromium.org/152233003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249526 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/sessions')
-rw-r--r-- | components/sessions/serialized_navigation_entry.cc | 8 | ||||
-rw-r--r-- | components/sessions/serialized_navigation_entry.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/components/sessions/serialized_navigation_entry.cc b/components/sessions/serialized_navigation_entry.cc index 44c5a07..45f3cf0 100644 --- a/components/sessions/serialized_navigation_entry.cc +++ b/components/sessions/serialized_navigation_entry.cc @@ -27,6 +27,7 @@ SerializedNavigationEntry::SerializedNavigationEntry() post_id_(-1), is_overriding_user_agent_(false), http_status_code_(0), + is_restored_(false), blocked_state_(STATE_INVALID) {} SerializedNavigationEntry::~SerializedNavigationEntry() {} @@ -48,6 +49,7 @@ SerializedNavigationEntry SerializedNavigationEntry::FromNavigationEntry( navigation.original_request_url_ = entry.GetOriginalRequestURL(); navigation.is_overriding_user_agent_ = entry.GetIsOverridingUserAgent(); navigation.timestamp_ = entry.GetTimestamp(); + navigation.is_restored_ = entry.IsRestored(); // If you want to navigate a named frame in Chrome, you will first need to // add support for persisting it. It is currently only used for layout tests. CHECK(entry.GetFrameToNavigate().empty()); @@ -153,6 +155,8 @@ SerializedNavigationEntry SerializedNavigationEntry::FromSyncData( navigation.Sanitize(); + navigation.is_restored_ = true; + return navigation; } @@ -329,6 +333,8 @@ bool SerializedNavigationEntry::ReadFromPickle(PickleIterator* iterator) { Sanitize(); + is_restored_ = true; + return true; } @@ -471,6 +477,8 @@ sync_pb::TabNavigation SerializedNavigationEntry::ToSyncData() const { sync_data.add_content_pack_categories(*it); } + sync_data.set_is_restored(is_restored_); + return sync_data; } diff --git a/components/sessions/serialized_navigation_entry.h b/components/sessions/serialized_navigation_entry.h index 577d67a..859d39f 100644 --- a/components/sessions/serialized_navigation_entry.h +++ b/components/sessions/serialized_navigation_entry.h @@ -155,6 +155,7 @@ class SESSIONS_EXPORT SerializedNavigationEntry { base::string16 search_terms_; GURL favicon_url_; int http_status_code_; + bool is_restored_; // Not persisted. // Additional information. BlockedState blocked_state_; |