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

Unified Diff: components/sessions/serialized_navigation_entry.cc

Issue 22837005: Add HTTP status code to navigation data structures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix bug Created 7 years, 4 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: components/sessions/serialized_navigation_entry.cc
diff --git a/components/sessions/serialized_navigation_entry.cc b/components/sessions/serialized_navigation_entry.cc
index 5e4183cf5d2944ac2199fbe5f46f3036e300641e..0fc6ff184b3ab5dfc9fc154408ca609ca4fd7210 100644
--- a/components/sessions/serialized_navigation_entry.cc
+++ b/components/sessions/serialized_navigation_entry.cc
@@ -26,6 +26,7 @@ SerializedNavigationEntry::SerializedNavigationEntry()
has_post_data_(false),
post_id_(-1),
is_overriding_user_agent_(false),
+ http_status_code_(0),
blocked_state_(STATE_INVALID) {}
SerializedNavigationEntry::~SerializedNavigationEntry() {}
@@ -53,6 +54,7 @@ SerializedNavigationEntry SerializedNavigationEntry::FromNavigationEntry(
entry.GetExtraData(kSearchTermsKey, &navigation.search_terms_);
if (entry.GetFavicon().valid)
navigation.favicon_url_ = entry.GetFavicon().url;
+ navigation.http_status_code_ = entry.GetHttpStatusCode();
return navigation;
}
@@ -143,6 +145,8 @@ SerializedNavigationEntry SerializedNavigationEntry::FromSyncData(
if (sync_data.has_favicon_url())
navigation.favicon_url_ = GURL(sync_data.favicon_url());
+ navigation.http_status_code_ = sync_data.http_status_code();
+
// We shouldn't sync session data for managed users down at the moment.
DCHECK(!sync_data.has_blocked_state());
DCHECK_EQ(0, sync_data.content_pack_categories_size());
@@ -216,6 +220,7 @@ enum TypeMask {
// is_overriding_user_agent_
// timestamp_
// search_terms_
+// http_status_code_
void SerializedNavigationEntry::WriteToPickle(int max_size,
Pickle* pickle) const {
@@ -255,6 +260,8 @@ void SerializedNavigationEntry::WriteToPickle(int max_size,
pickle->WriteInt64(timestamp_.ToInternalValue());
WriteString16ToPickle(pickle, &bytes_written, max_size, search_terms_);
+
+ pickle->WriteInt(http_status_code_);
}
bool SerializedNavigationEntry::ReadFromPickle(PickleIterator* iterator) {
@@ -313,6 +320,9 @@ bool SerializedNavigationEntry::ReadFromPickle(PickleIterator* iterator) {
// If the search terms field can't be found, leave it empty.
if (!iterator->ReadString16(&search_terms_))
search_terms_.clear();
+
+ if (!iterator->ReadInt(&http_status_code_))
+ http_status_code_ = 0;
}
return true;
@@ -342,6 +352,7 @@ scoped_ptr<NavigationEntry> SerializedNavigationEntry::ToNavigationEntry(
entry->SetIsOverridingUserAgent(is_overriding_user_agent_);
entry->SetTimestamp(timestamp_);
entry->SetExtraData(kSearchTermsKey, search_terms_);
+ entry->SetHttpStatusCode(http_status_code_);
// These fields should have default values.
DCHECK_EQ(STATE_INVALID, blocked_state_);
@@ -440,6 +451,8 @@ sync_pb::TabNavigation SerializedNavigationEntry::ToSyncData() const {
sync_data.set_search_terms(UTF16ToUTF8(search_terms_));
+ sync_data.set_http_status_code(http_status_code_);
+
if (favicon_url_.is_valid())
sync_data.set_favicon_url(favicon_url_.spec());
« no previous file with comments | « components/sessions/serialized_navigation_entry.h ('k') | components/sessions/serialized_navigation_entry_test_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698