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 59afc341fdb9604100636d2befdc8f85c738cddf..61fe84c272c7e609a452f85270bfec4af291f394 100644 |
| --- a/chrome/browser/sessions/session_types.cc |
| +++ b/chrome/browser/sessions/session_types.cc |
| @@ -48,6 +48,7 @@ TabNavigation TabNavigation::FromNavigationEntry( |
| navigation.original_request_url_ = entry.GetOriginalRequestURL(); |
| navigation.is_overriding_user_agent_ = entry.GetIsOverridingUserAgent(); |
| navigation.timestamp_ = entry.GetTimestamp(); |
| + navigation.search_terms_ = entry.GetSearchTerms(); |
| return navigation; |
| } |
| @@ -133,6 +134,8 @@ TabNavigation TabNavigation::FromSyncData( |
| navigation.timestamp_ = base::Time(); |
| + navigation.search_terms_ = UTF8ToUTF16(sync_data.search_terms()); |
| + |
| return navigation; |
| } |
| @@ -201,6 +204,7 @@ enum TypeMask { |
| // original_request_url_ |
| // is_overriding_user_agent_ |
| // timestamp_ |
| +// search_terms_ |
| void TabNavigation::WriteToPickle(Pickle* pickle) const { |
| pickle->WriteInt(index_); |
| @@ -245,6 +249,8 @@ void TabNavigation::WriteToPickle(Pickle* pickle) const { |
| original_request_url_.spec() : std::string()); |
| pickle->WriteBool(is_overriding_user_agent_); |
| pickle->WriteInt64(timestamp_.ToInternalValue()); |
| + |
| + WriteString16ToPickle(pickle, &bytes_written, max_state_size, search_terms_); |
| } |
| bool TabNavigation::ReadFromPickle(PickleIterator* iterator) { |
| @@ -298,6 +304,11 @@ bool TabNavigation::ReadFromPickle(PickleIterator* iterator) { |
| } else { |
| timestamp_ = base::Time(); |
| } |
| + |
| + // Search terms is an optional field, defaults to empty. |
|
akalin
2012/12/05 23:35:44
Perhaps:
// If the search term field can't be fou
Mathieu
2012/12/06 21:50:18
Done.
|
| + if (!iterator->ReadString16(&search_terms_)) { |
| + search_terms_ = string16(); |
| + } |
| } |
| return true; |
| @@ -326,6 +337,7 @@ scoped_ptr<NavigationEntry> TabNavigation::ToNavigationEntry( |
| entry->SetOriginalRequestURL(original_request_url_); |
| entry->SetIsOverridingUserAgent(is_overriding_user_agent_); |
| entry->SetTimestamp(timestamp_); |
| + entry->SetSearchTerms(search_terms_); |
| return entry.Pass(); |
| } |
| @@ -418,6 +430,8 @@ sync_pb::TabNavigation TabNavigation::ToSyncData() const { |
| // The full-resolution timestamp works as a global ID. |
| sync_data.set_global_id(timestamp_.ToInternalValue()); |
| + sync_data.set_search_terms(UTF16ToUTF8(search_terms_)); |
| + |
| return sync_data; |
| } |