| 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 | 
|---|