| 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..fdbd1771e9fafdba93611b8569a99e03f17da27b 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,10 @@ bool TabNavigation::ReadFromPickle(PickleIterator* iterator) {
|
| } else {
|
| timestamp_ = base::Time();
|
| }
|
| +
|
| + // If the search terms field can't be found, leave it empty.
|
| + if (!iterator->ReadString16(&search_terms_))
|
| + search_terms_ = string16();
|
| }
|
|
|
| return true;
|
| @@ -326,6 +336,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 +429,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;
|
| }
|
|
|
|
|