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 |