| 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 EXPECT_EQ(a.contains_passwords, b.contains_passwords); | 62 EXPECT_EQ(a.contains_passwords, b.contains_passwords); |
| 63 EXPECT_EQ(a.is_null, b.is_null); | 63 EXPECT_EQ(a.is_null, b.is_null); |
| 64 ExpectEquality(a.elements, b.elements); | 64 ExpectEquality(a.elements, b.elements); |
| 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.original_url_string, b.original_url_string); | 70 EXPECT_EQ(a.original_url_string, b.original_url_string); |
| 71 EXPECT_EQ(a.referrer, b.referrer); | 71 EXPECT_EQ(a.referrer, b.referrer); |
| 72 EXPECT_EQ(a.referrer_policy, b.referrer_policy); |
| 72 EXPECT_EQ(a.target, b.target); | 73 EXPECT_EQ(a.target, b.target); |
| 73 EXPECT_EQ(a.state_object, b.state_object); | 74 EXPECT_EQ(a.state_object, b.state_object); |
| 74 ExpectEquality(a.document_state, b.document_state); | 75 ExpectEquality(a.document_state, b.document_state); |
| 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.target_frame_id, b.target_frame_id); | 79 EXPECT_EQ(a.target_frame_id, b.target_frame_id); |
| 79 EXPECT_EQ(a.page_scale_factor, b.page_scale_factor); | 80 EXPECT_EQ(a.page_scale_factor, b.page_scale_factor); |
| 80 ExpectEquality(a.http_body, b.http_body); | 81 ExpectEquality(a.http_body, b.http_body); |
| 81 ExpectEquality(a.children, b.children); | 82 ExpectEquality(a.children, b.children); |
| 82 } | 83 } |
| 83 | 84 |
| 84 void ExpectEquality(const ExplodedPageState& a, const ExplodedPageState& b) { | 85 void ExpectEquality(const ExplodedPageState& a, const ExplodedPageState& b) { |
| 85 ExpectEquality(a.referenced_files, b.referenced_files); | 86 ExpectEquality(a.referenced_files, b.referenced_files); |
| 86 ExpectEquality(a.top, b.top); | 87 ExpectEquality(a.top, b.top); |
| 87 } | 88 } |
| 88 | 89 |
| 89 //----------------------------------------------------------------------------- | 90 //----------------------------------------------------------------------------- |
| 90 | 91 |
| 91 class PageStateSerializationTest : public testing::Test { | 92 class PageStateSerializationTest : public testing::Test { |
| 92 public: | 93 public: |
| 93 void PopulateFrameState(ExplodedFrameState* frame_state) { | 94 void PopulateFrameState(ExplodedFrameState* frame_state) { |
| 94 // Invent some data for the various fields. | 95 // Invent some data for the various fields. |
| 95 frame_state->url_string = NS16("http://dev.chromium.org/"); | 96 frame_state->url_string = NS16("http://dev.chromium.org/"); |
| 96 frame_state->original_url_string = frame_state->url_string; | 97 frame_state->original_url_string = frame_state->url_string; |
| 97 frame_state->referrer = NS16("https://www.google.com/search?q=dev.chromium.o
rg"); | 98 frame_state->referrer = NS16("https://www.google.com/search?q=dev.chromium.o
rg"); |
| 99 frame_state->referrer_policy = blink::WebReferrerPolicyAlways; |
| 98 frame_state->target = NS16("foo"); | 100 frame_state->target = NS16("foo"); |
| 99 frame_state->state_object = NS16(NULL); | 101 frame_state->state_object = NS16(NULL); |
| 100 frame_state->document_state.push_back(NS16("1")); | 102 frame_state->document_state.push_back(NS16("1")); |
| 101 frame_state->document_state.push_back(NS16("q")); | 103 frame_state->document_state.push_back(NS16("q")); |
| 102 frame_state->document_state.push_back(NS16("text")); | 104 frame_state->document_state.push_back(NS16("text")); |
| 103 frame_state->document_state.push_back(NS16("dev.chromium.org")); | 105 frame_state->document_state.push_back(NS16("dev.chromium.org")); |
| 104 frame_state->scroll_offset = gfx::Point(0, 100); | 106 frame_state->scroll_offset = gfx::Point(0, 100); |
| 105 frame_state->item_sequence_number = 1; | 107 frame_state->item_sequence_number = 1; |
| 106 frame_state->document_sequence_number = 2; | 108 frame_state->document_sequence_number = 2; |
| 107 frame_state->target_frame_id = 3; | 109 frame_state->target_frame_id = 3; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 130 | 132 |
| 131 referenced_files->push_back(e2.file_path); | 133 referenced_files->push_back(e2.file_path); |
| 132 } | 134 } |
| 133 | 135 |
| 134 void PopulateFrameStateForBackwardsCompatTest( | 136 void PopulateFrameStateForBackwardsCompatTest( |
| 135 ExplodedFrameState* frame_state, | 137 ExplodedFrameState* frame_state, |
| 136 bool is_child) { | 138 bool is_child) { |
| 137 frame_state->url_string = NS16("http://chromium.org/"); | 139 frame_state->url_string = NS16("http://chromium.org/"); |
| 138 frame_state->original_url_string = frame_state->url_string; | 140 frame_state->original_url_string = frame_state->url_string; |
| 139 frame_state->referrer = NS16("http://google.com/"); | 141 frame_state->referrer = NS16("http://google.com/"); |
| 142 frame_state->referrer_policy = blink::WebReferrerPolicyDefault; |
| 140 if (!is_child) | 143 if (!is_child) |
| 141 frame_state->target = NS16("target"); | 144 frame_state->target = NS16("target"); |
| 142 frame_state->scroll_offset = gfx::Point(42, -42); | 145 frame_state->scroll_offset = gfx::Point(42, -42); |
| 143 frame_state->item_sequence_number = 123; | 146 frame_state->item_sequence_number = 123; |
| 144 frame_state->document_sequence_number = 456; | 147 frame_state->document_sequence_number = 456; |
| 145 frame_state->target_frame_id = 0; | 148 frame_state->target_frame_id = 0; |
| 146 frame_state->page_scale_factor = 2.0f; | 149 frame_state->page_scale_factor = 2.0f; |
| 147 | 150 |
| 148 frame_state->document_state.push_back( | 151 frame_state->document_state.push_back( |
| 149 NS16("\n\r?% WebKit serialized form state version 8 \n\r=&")); | 152 NS16("\n\r?% WebKit serialized form state version 8 \n\r=&")); |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 TEST_F(PageStateSerializationTest, BackwardsCompat_v15) { | 419 TEST_F(PageStateSerializationTest, BackwardsCompat_v15) { |
| 417 TestBackwardsCompat(15); | 420 TestBackwardsCompat(15); |
| 418 } | 421 } |
| 419 | 422 |
| 420 TEST_F(PageStateSerializationTest, BackwardsCompat_v16) { | 423 TEST_F(PageStateSerializationTest, BackwardsCompat_v16) { |
| 421 TestBackwardsCompat(16); | 424 TestBackwardsCompat(16); |
| 422 } | 425 } |
| 423 | 426 |
| 424 } // namespace | 427 } // namespace |
| 425 } // namespace content | 428 } // namespace content |
| OLD | NEW |