| 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());
|
|
|
|
|