Chromium Code Reviews| Index: chrome/browser/sessions/base_session_service.cc |
| =================================================================== |
| --- chrome/browser/sessions/base_session_service.cc (revision 98807) |
| +++ chrome/browser/sessions/base_session_service.cc (working copy) |
| @@ -177,6 +177,9 @@ |
| WriteStringToPickle(pickle, &bytes_written, max_state_size, |
| entry.referrer().is_valid() ? entry.referrer().spec() : std::string()); |
| + WriteStringToPickle(pickle, &bytes_written, max_state_size, |
|
sky
2011/08/30 20:16:33
Add test coverage of this.
Roger Tawa OOO till Jul 10th
2011/08/31 20:14:01
Done.
|
| + entry.extra_headers()); |
| + |
| // Adding more data? Be sure and update TabRestoreService too. |
| return new SessionCommand(command_id, pickle); |
| } |
| @@ -225,9 +228,17 @@ |
| // the "referrer" property was added after type_mask to the written |
| // stream. As such, we don't fail if it can't be read. |
| std::string referrer_spec; |
| - pickle->ReadString(&iterator, &referrer_spec); |
| + bool has_referrer = pickle->ReadString(&iterator, &referrer_spec); |
| if (!referrer_spec.empty()) |
| navigation->referrer_ = GURL(referrer_spec); |
| + |
| + if (has_referrer) { |
| + // the "extra_headers" property was added after referrer to the written |
| + // stream. As such, we don't fail if it can't be read. |
| + std::string extra_headers; |
| + pickle->ReadString(&iterator, &extra_headers); |
| + navigation->set_extra_headers(extra_headers); |
| + } |
| } |
| navigation->virtual_url_ = GURL(url_spec); |