diff options
author | japhet@chromium.org <japhet@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-11 00:51:43 +0000 |
---|---|---|
committer | japhet@chromium.org <japhet@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-11 00:51:43 +0000 |
commit | f8c39666afc2ef3136684cdff4d2fcedc1c08112 (patch) | |
tree | 5b16f67ff63d6e3e240c5473d472fa7144986877 /content/common/page_state_serialization.cc | |
parent | 68161b75dece822b3cb8a7ebd3361baedbd86eaa (diff) | |
download | chromium_src-f8c39666afc2ef3136684cdff4d2fcedc1c08112.zip chromium_src-f8c39666afc2ef3136684cdff4d2fcedc1c08112.tar.gz chromium_src-f8c39666afc2ef3136684cdff4d2fcedc1c08112.tar.bz2 |
Don't serialize frame id or original url history parameters. They are obsolete.
BUG=341425,340277
TEST=PageStateSerializationTest.BackwardsCompat_v18
Review URL: https://codereview.chromium.org/192813004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256089 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common/page_state_serialization.cc')
-rw-r--r-- | content/common/page_state_serialization.cc | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/content/common/page_state_serialization.cc b/content/common/page_state_serialization.cc index 9e57150..edef549 100644 --- a/content/common/page_state_serialization.cc +++ b/content/common/page_state_serialization.cc @@ -189,12 +189,14 @@ struct SerializeObject { // 16: Switched from blob urls to blob uuids. // 17: Add a target frame id number. // 18: Add referrer policy. +// 19: Remove target frame id, which was a bad idea, and original url string, +// which is no longer used. // // NOTE: If the version is -1, then the pickle contains only a URL string. // See ReadPageState. // const int kMinVersion = 11; -const int kCurrentVersion = 18; +const int kCurrentVersion = 19; // A bunch of convenience functions to read/write to SerializeObjects. The // de-serializers assume the input data will be in the correct format and fall @@ -243,6 +245,10 @@ int64 ReadInteger64(SerializeObject* obj) { return 0; } +void ConsumeInteger64(SerializeObject* obj) { + int64 unused ALLOW_UNUSED = ReadInteger64(obj); +} + void WriteReal(double data, SerializeObject* obj) { WriteData(&data, sizeof(double), obj); } @@ -493,7 +499,6 @@ void WriteFrameState( // data, such as password fields. WriteString(state.url_string, obj); - WriteString(state.original_url_string, obj); WriteString(state.target, obj); WriteInteger(state.scroll_offset.x(), obj); WriteInteger(state.scroll_offset.y(), obj); @@ -504,7 +509,6 @@ void WriteFrameState( WriteReal(state.page_scale_factor, obj); WriteInteger64(state.item_sequence_number, obj); WriteInteger64(state.document_sequence_number, obj); - WriteInteger64(state.target_frame_id, obj); WriteInteger(state.referrer_policy, obj); bool has_state_object = !state.state_object.is_null(); @@ -532,7 +536,10 @@ void ReadFrameState(SerializeObject* obj, bool is_top, ConsumeInteger(obj); // Skip over redundant version field. state->url_string = ReadString(obj); - state->original_url_string = ReadString(obj); + + if (obj->version < 19) + ConsumeString(obj); // Skip obsolete original url string field. + state->target = ReadString(obj); if (obj->version < 15) { ConsumeString(obj); // Skip obsolete parent field. @@ -556,8 +563,10 @@ void ReadFrameState(SerializeObject* obj, bool is_top, state->page_scale_factor = ReadReal(obj); state->item_sequence_number = ReadInteger64(obj); state->document_sequence_number = ReadInteger64(obj); - if (obj->version >= 17) - state->target_frame_id = ReadInteger64(obj); + + if (obj->version >= 17 && obj->version < 19) + ConsumeInteger64(obj); // Skip obsolete target frame id number. + if (obj->version >= 18) { state->referrer_policy = static_cast<blink::WebReferrerPolicy>(ReadInteger(obj)); @@ -621,7 +630,7 @@ void ReadPageState(SerializeObject* obj, ExplodedPageState* state) { if (obj->version == -1) { GURL url = ReadGURL(obj); // NOTE: GURL::possibly_invalid_spec() always returns valid UTF-8. - state->top.url_string = state->top.original_url_string = + state->top.url_string = base::NullableString16( base::UTF8ToUTF16(url.possibly_invalid_spec()), false); return; @@ -671,7 +680,6 @@ ExplodedHttpBody::~ExplodedHttpBody() { ExplodedFrameState::ExplodedFrameState() : item_sequence_number(0), document_sequence_number(0), - target_frame_id(0), page_scale_factor(0.0), referrer_policy(blink::WebReferrerPolicyDefault) { } |