| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <math.h> | 5 #include <math.h> |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/pickle.h" | 10 #include "base/pickle.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 } | 65 } |
| 66 | 66 |
| 67 template <> | 67 template <> |
| 68 void ExpectEquality(const ExplodedFrameState& a, const ExplodedFrameState& b) { | 68 void ExpectEquality(const ExplodedFrameState& a, const ExplodedFrameState& b) { |
| 69 EXPECT_EQ(a.url_string, b.url_string); | 69 EXPECT_EQ(a.url_string, b.url_string); |
| 70 EXPECT_EQ(a.referrer, b.referrer); | 70 EXPECT_EQ(a.referrer, b.referrer); |
| 71 EXPECT_EQ(a.referrer_policy, b.referrer_policy); | 71 EXPECT_EQ(a.referrer_policy, b.referrer_policy); |
| 72 EXPECT_EQ(a.target, b.target); | 72 EXPECT_EQ(a.target, b.target); |
| 73 EXPECT_EQ(a.state_object, b.state_object); | 73 EXPECT_EQ(a.state_object, b.state_object); |
| 74 ExpectEquality(a.document_state, b.document_state); | 74 ExpectEquality(a.document_state, b.document_state); |
| 75 EXPECT_EQ(a.pinch_viewport_scroll_offset, b.pinch_viewport_scroll_offset); |
| 75 EXPECT_EQ(a.scroll_offset, b.scroll_offset); | 76 EXPECT_EQ(a.scroll_offset, b.scroll_offset); |
| 76 EXPECT_EQ(a.item_sequence_number, b.item_sequence_number); | 77 EXPECT_EQ(a.item_sequence_number, b.item_sequence_number); |
| 77 EXPECT_EQ(a.document_sequence_number, b.document_sequence_number); | 78 EXPECT_EQ(a.document_sequence_number, b.document_sequence_number); |
| 78 EXPECT_EQ(a.page_scale_factor, b.page_scale_factor); | 79 EXPECT_EQ(a.page_scale_factor, b.page_scale_factor); |
| 79 ExpectEquality(a.http_body, b.http_body); | 80 ExpectEquality(a.http_body, b.http_body); |
| 80 ExpectEquality(a.children, b.children); | 81 ExpectEquality(a.children, b.children); |
| 81 } | 82 } |
| 82 | 83 |
| 83 void ExpectEquality(const ExplodedPageState& a, const ExplodedPageState& b) { | 84 void ExpectEquality(const ExplodedPageState& a, const ExplodedPageState& b) { |
| 84 ExpectEquality(a.referenced_files, b.referenced_files); | 85 ExpectEquality(a.referenced_files, b.referenced_files); |
| 85 ExpectEquality(a.top, b.top); | 86 ExpectEquality(a.top, b.top); |
| 86 } | 87 } |
| 87 | 88 |
| 88 //----------------------------------------------------------------------------- | 89 //----------------------------------------------------------------------------- |
| 89 | 90 |
| 90 class PageStateSerializationTest : public testing::Test { | 91 class PageStateSerializationTest : public testing::Test { |
| 91 public: | 92 public: |
| 92 void PopulateFrameState(ExplodedFrameState* frame_state) { | 93 void PopulateFrameState(ExplodedFrameState* frame_state) { |
| 93 // Invent some data for the various fields. | 94 // Invent some data for the various fields. |
| 94 frame_state->url_string = NS16("http://dev.chromium.org/"); | 95 frame_state->url_string = NS16("http://dev.chromium.org/"); |
| 95 frame_state->referrer = NS16("https://www.google.com/search?q=dev.chromium.o
rg"); | 96 frame_state->referrer = NS16("https://www.google.com/search?q=dev.chromium.o
rg"); |
| 96 frame_state->referrer_policy = blink::WebReferrerPolicyAlways; | 97 frame_state->referrer_policy = blink::WebReferrerPolicyAlways; |
| 97 frame_state->target = NS16("foo"); | 98 frame_state->target = NS16("foo"); |
| 98 frame_state->state_object = NS16(NULL); | 99 frame_state->state_object = NS16(NULL); |
| 99 frame_state->document_state.push_back(NS16("1")); | 100 frame_state->document_state.push_back(NS16("1")); |
| 100 frame_state->document_state.push_back(NS16("q")); | 101 frame_state->document_state.push_back(NS16("q")); |
| 101 frame_state->document_state.push_back(NS16("text")); | 102 frame_state->document_state.push_back(NS16("text")); |
| 102 frame_state->document_state.push_back(NS16("dev.chromium.org")); | 103 frame_state->document_state.push_back(NS16("dev.chromium.org")); |
| 104 frame_state->pinch_viewport_scroll_offset = gfx::PointF(10, 15); |
| 103 frame_state->scroll_offset = gfx::Point(0, 100); | 105 frame_state->scroll_offset = gfx::Point(0, 100); |
| 104 frame_state->item_sequence_number = 1; | 106 frame_state->item_sequence_number = 1; |
| 105 frame_state->document_sequence_number = 2; | 107 frame_state->document_sequence_number = 2; |
| 106 frame_state->page_scale_factor = 2.0; | 108 frame_state->page_scale_factor = 2.0; |
| 107 } | 109 } |
| 108 | 110 |
| 109 void PopulateHttpBody(ExplodedHttpBody* http_body, | 111 void PopulateHttpBody(ExplodedHttpBody* http_body, |
| 110 std::vector<base::NullableString16>* referenced_files) { | 112 std::vector<base::NullableString16>* referenced_files) { |
| 111 http_body->is_null = false; | 113 http_body->is_null = false; |
| 112 http_body->identifier = 12345; | 114 http_body->identifier = 12345; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 130 } | 132 } |
| 131 | 133 |
| 132 void PopulateFrameStateForBackwardsCompatTest( | 134 void PopulateFrameStateForBackwardsCompatTest( |
| 133 ExplodedFrameState* frame_state, | 135 ExplodedFrameState* frame_state, |
| 134 bool is_child) { | 136 bool is_child) { |
| 135 frame_state->url_string = NS16("http://chromium.org/"); | 137 frame_state->url_string = NS16("http://chromium.org/"); |
| 136 frame_state->referrer = NS16("http://google.com/"); | 138 frame_state->referrer = NS16("http://google.com/"); |
| 137 frame_state->referrer_policy = blink::WebReferrerPolicyDefault; | 139 frame_state->referrer_policy = blink::WebReferrerPolicyDefault; |
| 138 if (!is_child) | 140 if (!is_child) |
| 139 frame_state->target = NS16("target"); | 141 frame_state->target = NS16("target"); |
| 142 frame_state->pinch_viewport_scroll_offset = gfx::PointF(-1, -1); |
| 140 frame_state->scroll_offset = gfx::Point(42, -42); | 143 frame_state->scroll_offset = gfx::Point(42, -42); |
| 141 frame_state->item_sequence_number = 123; | 144 frame_state->item_sequence_number = 123; |
| 142 frame_state->document_sequence_number = 456; | 145 frame_state->document_sequence_number = 456; |
| 143 frame_state->page_scale_factor = 2.0f; | 146 frame_state->page_scale_factor = 2.0f; |
| 144 | 147 |
| 145 frame_state->document_state.push_back( | 148 frame_state->document_state.push_back( |
| 146 NS16("\n\r?% WebKit serialized form state version 8 \n\r=&")); | 149 NS16("\n\r?% WebKit serialized form state version 8 \n\r=&")); |
| 147 frame_state->document_state.push_back(NS16("form key")); | 150 frame_state->document_state.push_back(NS16("form key")); |
| 148 frame_state->document_state.push_back(NS16("1")); | 151 frame_state->document_state.push_back(NS16("1")); |
| 149 frame_state->document_state.push_back(NS16("foo")); | 152 frame_state->document_state.push_back(NS16("foo")); |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 TEST_F(PageStateSerializationTest, BackwardsCompat_v16) { | 419 TEST_F(PageStateSerializationTest, BackwardsCompat_v16) { |
| 417 TestBackwardsCompat(16); | 420 TestBackwardsCompat(16); |
| 418 } | 421 } |
| 419 | 422 |
| 420 TEST_F(PageStateSerializationTest, BackwardsCompat_v18) { | 423 TEST_F(PageStateSerializationTest, BackwardsCompat_v18) { |
| 421 TestBackwardsCompat(18); | 424 TestBackwardsCompat(18); |
| 422 } | 425 } |
| 423 | 426 |
| 424 } // namespace | 427 } // namespace |
| 425 } // namespace content | 428 } // namespace content |
| OLD | NEW |