summaryrefslogtreecommitdiffstats
path: root/content/common/page_state_serialization.cc
diff options
context:
space:
mode:
authorjaphet@chromium.org <japhet@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-11 00:51:43 +0000
committerjaphet@chromium.org <japhet@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-11 00:51:43 +0000
commitf8c39666afc2ef3136684cdff4d2fcedc1c08112 (patch)
tree5b16f67ff63d6e3e240c5473d472fa7144986877 /content/common/page_state_serialization.cc
parent68161b75dece822b3cb8a7ebd3361baedbd86eaa (diff)
downloadchromium_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.cc24
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) {
}