Chromium Code Reviews| Index: chrome/browser/sessions/session_types.cc |
| diff --git a/chrome/browser/sessions/session_types.cc b/chrome/browser/sessions/session_types.cc |
| index 183b3a90d54ad386be8772babc83af166e5080c3..afe2acbb47eeb93cac6b07fa4bd4bcd3d823854c 100644 |
| --- a/chrome/browser/sessions/session_types.cc |
| +++ b/chrome/browser/sessions/session_types.cc |
| @@ -27,7 +27,8 @@ TabNavigation::TabNavigation() |
| transition_type_(content::PAGE_TRANSITION_TYPED), |
| has_post_data_(false), |
| post_id_(-1), |
| - is_overriding_user_agent_(false) {} |
| + is_overriding_user_agent_(false), |
| + http_status_code_(0) {} |
| TabNavigation::~TabNavigation() {} |
| @@ -48,6 +49,7 @@ TabNavigation TabNavigation::FromNavigationEntry( |
| navigation.original_request_url_ = entry.GetOriginalRequestURL(); |
| navigation.is_overriding_user_agent_ = entry.GetIsOverridingUserAgent(); |
| navigation.timestamp_ = entry.GetTimestamp(); |
| + navigation.http_status_code_ = entry.GetHttpStatusCode(); |
| return navigation; |
| } |
| @@ -132,6 +134,7 @@ TabNavigation TabNavigation::FromSyncData( |
| static_cast<content::PageTransition>(transition); |
| navigation.timestamp_ = base::Time(); |
| + navigation.http_status_code_ = sync_data.http_status_code(); |
| return navigation; |
| } |
| @@ -201,6 +204,7 @@ enum TypeMask { |
| // original_request_url_ |
| // is_overriding_user_agent_ |
| // timestamp_ |
| +// http_status_code_ |
| void TabNavigation::WriteToPickle(Pickle* pickle) const { |
| pickle->WriteInt(index_); |
| @@ -245,6 +249,7 @@ void TabNavigation::WriteToPickle(Pickle* pickle) const { |
| original_request_url_.spec() : std::string()); |
| pickle->WriteBool(is_overriding_user_agent_); |
| pickle->WriteInt64(timestamp_.ToInternalValue()); |
| + pickle->WriteInt(http_status_code_); |
| } |
| bool TabNavigation::ReadFromPickle(PickleIterator* iterator) { |
| @@ -298,6 +303,9 @@ bool TabNavigation::ReadFromPickle(PickleIterator* iterator) { |
| } else { |
| timestamp_ = base::Time(); |
| } |
| + |
| + if (!iterator->ReadInt(&http_status_code_)) |
| + http_status_code_ = 0; |
|
sky
2012/10/04 15:56:22
You don't really need this since 256 resets it, bu
|
| } |
| return true; |
| @@ -326,6 +334,7 @@ scoped_ptr<NavigationEntry> TabNavigation::ToNavigationEntry( |
| entry->SetOriginalRequestURL(original_request_url_); |
| entry->SetIsOverridingUserAgent(is_overriding_user_agent_); |
| entry->SetTimestamp(timestamp_); |
| + entry->SetHttpStatusCode(http_status_code_); |
| return entry.Pass(); |
| } |
| @@ -417,6 +426,7 @@ sync_pb::TabNavigation TabNavigation::ToSyncData() const { |
| // TODO(akalin): Don't lose resolution, i.e. define a new timestamp |
| // field with microsecond resolution and use that. |
| sync_data.set_timestamp(syncer::TimeToProtoTime(timestamp_)); |
| + sync_data.set_http_status_code(http_status_code_); |
| return sync_data; |
| } |