Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: content/common/page_state_serialization_unittest.cc

Issue 959783003: Add scroll restoration type to page state (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use enum for scroll restoration type Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/common/page_state_serialization.cc ('k') | content/renderer/history_serialization.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <cmath> 5 #include <cmath>
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/files/file_util.h" 8 #include "base/files/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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 } 63 }
64 64
65 template <> 65 template <>
66 void ExpectEquality(const ExplodedFrameState& a, const ExplodedFrameState& b) { 66 void ExpectEquality(const ExplodedFrameState& a, const ExplodedFrameState& b) {
67 EXPECT_EQ(a.url_string, b.url_string); 67 EXPECT_EQ(a.url_string, b.url_string);
68 EXPECT_EQ(a.referrer, b.referrer); 68 EXPECT_EQ(a.referrer, b.referrer);
69 EXPECT_EQ(a.referrer_policy, b.referrer_policy); 69 EXPECT_EQ(a.referrer_policy, b.referrer_policy);
70 EXPECT_EQ(a.target, b.target); 70 EXPECT_EQ(a.target, b.target);
71 EXPECT_EQ(a.state_object, b.state_object); 71 EXPECT_EQ(a.state_object, b.state_object);
72 ExpectEquality(a.document_state, b.document_state); 72 ExpectEquality(a.document_state, b.document_state);
73 EXPECT_EQ(a.scroll_restoration_type, b.scroll_restoration_type);
73 EXPECT_EQ(a.pinch_viewport_scroll_offset, b.pinch_viewport_scroll_offset); 74 EXPECT_EQ(a.pinch_viewport_scroll_offset, b.pinch_viewport_scroll_offset);
74 EXPECT_EQ(a.scroll_offset, b.scroll_offset); 75 EXPECT_EQ(a.scroll_offset, b.scroll_offset);
75 EXPECT_EQ(a.item_sequence_number, b.item_sequence_number); 76 EXPECT_EQ(a.item_sequence_number, b.item_sequence_number);
76 EXPECT_EQ(a.document_sequence_number, b.document_sequence_number); 77 EXPECT_EQ(a.document_sequence_number, b.document_sequence_number);
77 EXPECT_EQ(a.page_scale_factor, b.page_scale_factor); 78 EXPECT_EQ(a.page_scale_factor, b.page_scale_factor);
78 ExpectEquality(a.http_body, b.http_body); 79 ExpectEquality(a.http_body, b.http_body);
79 ExpectEquality(a.children, b.children); 80 ExpectEquality(a.children, b.children);
80 } 81 }
81 82
82 void ExpectEquality(const ExplodedPageState& a, const ExplodedPageState& b) { 83 void ExpectEquality(const ExplodedPageState& a, const ExplodedPageState& b) {
83 ExpectEquality(a.referenced_files, b.referenced_files); 84 ExpectEquality(a.referenced_files, b.referenced_files);
84 ExpectEquality(a.top, b.top); 85 ExpectEquality(a.top, b.top);
85 } 86 }
86 87
87 //----------------------------------------------------------------------------- 88 //-----------------------------------------------------------------------------
88 89
89 class PageStateSerializationTest : public testing::Test { 90 class PageStateSerializationTest : public testing::Test {
90 public: 91 public:
91 void PopulateFrameState(ExplodedFrameState* frame_state) { 92 void PopulateFrameState(ExplodedFrameState* frame_state) {
92 // Invent some data for the various fields. 93 // Invent some data for the various fields.
93 frame_state->url_string = NS16("http://dev.chromium.org/"); 94 frame_state->url_string = NS16("http://dev.chromium.org/");
94 frame_state->referrer = NS16("https://www.google.com/search?q=dev.chromium.o rg"); 95 frame_state->referrer = NS16("https://www.google.com/search?q=dev.chromium.o rg");
95 frame_state->referrer_policy = blink::WebReferrerPolicyAlways; 96 frame_state->referrer_policy = blink::WebReferrerPolicyAlways;
96 frame_state->target = NS16("foo"); 97 frame_state->target = NS16("foo");
97 frame_state->state_object = NS16(NULL); 98 frame_state->state_object = NS16(NULL);
98 frame_state->document_state.push_back(NS16("1")); 99 frame_state->document_state.push_back(NS16("1"));
99 frame_state->document_state.push_back(NS16("q")); 100 frame_state->document_state.push_back(NS16("q"));
100 frame_state->document_state.push_back(NS16("text")); 101 frame_state->document_state.push_back(NS16("text"));
101 frame_state->document_state.push_back(NS16("dev.chromium.org")); 102 frame_state->document_state.push_back(NS16("dev.chromium.org"));
103 frame_state->scroll_restoration_type =
104 blink::WebHistoryScrollRestorationManual;
102 frame_state->pinch_viewport_scroll_offset = gfx::PointF(10, 15); 105 frame_state->pinch_viewport_scroll_offset = gfx::PointF(10, 15);
103 frame_state->scroll_offset = gfx::Point(0, 100); 106 frame_state->scroll_offset = gfx::Point(0, 100);
104 frame_state->item_sequence_number = 1; 107 frame_state->item_sequence_number = 1;
105 frame_state->document_sequence_number = 2; 108 frame_state->document_sequence_number = 2;
106 frame_state->frame_sequence_number = 3; 109 frame_state->frame_sequence_number = 3;
107 frame_state->page_scale_factor = 2.0; 110 frame_state->page_scale_factor = 2.0;
108 } 111 }
109 112
110 void PopulateHttpBody(ExplodedHttpBody* http_body, 113 void PopulateHttpBody(ExplodedHttpBody* http_body,
111 std::vector<base::NullableString16>* referenced_files) { 114 std::vector<base::NullableString16>* referenced_files) {
(...skipping 19 matching lines...) Expand all
131 } 134 }
132 135
133 void PopulateFrameStateForBackwardsCompatTest( 136 void PopulateFrameStateForBackwardsCompatTest(
134 ExplodedFrameState* frame_state, 137 ExplodedFrameState* frame_state,
135 bool is_child) { 138 bool is_child) {
136 frame_state->url_string = NS16("http://chromium.org/"); 139 frame_state->url_string = NS16("http://chromium.org/");
137 frame_state->referrer = NS16("http://google.com/"); 140 frame_state->referrer = NS16("http://google.com/");
138 frame_state->referrer_policy = blink::WebReferrerPolicyDefault; 141 frame_state->referrer_policy = blink::WebReferrerPolicyDefault;
139 if (!is_child) 142 if (!is_child)
140 frame_state->target = NS16("target"); 143 frame_state->target = NS16("target");
144 frame_state->scroll_restoration_type =
145 blink::WebHistoryScrollRestorationAuto;
141 frame_state->pinch_viewport_scroll_offset = gfx::PointF(-1, -1); 146 frame_state->pinch_viewport_scroll_offset = gfx::PointF(-1, -1);
142 frame_state->scroll_offset = gfx::Point(42, -42); 147 frame_state->scroll_offset = gfx::Point(42, -42);
143 frame_state->item_sequence_number = 123; 148 frame_state->item_sequence_number = 123;
144 frame_state->document_sequence_number = 456; 149 frame_state->document_sequence_number = 456;
145 frame_state->frame_sequence_number = 789; 150 frame_state->frame_sequence_number = 789;
146 frame_state->page_scale_factor = 2.0f; 151 frame_state->page_scale_factor = 2.0f;
147 152
148 frame_state->document_state.push_back( 153 frame_state->document_state.push_back(
149 NS16("\n\r?% WebKit serialized form state version 8 \n\r=&")); 154 NS16("\n\r?% WebKit serialized form state version 8 \n\r=&"));
150 frame_state->document_state.push_back(NS16("form key")); 155 frame_state->document_state.push_back(NS16("form key"));
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 } 426 }
422 427
423 TEST_F(PageStateSerializationTest, BackwardsCompat_v18) { 428 TEST_F(PageStateSerializationTest, BackwardsCompat_v18) {
424 TestBackwardsCompat(18); 429 TestBackwardsCompat(18);
425 } 430 }
426 431
427 TEST_F(PageStateSerializationTest, BackwardsCompat_v20) { 432 TEST_F(PageStateSerializationTest, BackwardsCompat_v20) {
428 TestBackwardsCompat(20); 433 TestBackwardsCompat(20);
429 } 434 }
430 435
436 TEST_F(PageStateSerializationTest, BackwardsCompat_v21) {
437 TestBackwardsCompat(21);
438 }
439
431 } // namespace 440 } // namespace
432 } // namespace content 441 } // namespace content
OLDNEW
« no previous file with comments | « content/common/page_state_serialization.cc ('k') | content/renderer/history_serialization.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698