| Index: content/browser/frame_host/navigation_controller_impl_unittest.cc
|
| diff --git a/content/browser/frame_host/navigation_controller_impl_unittest.cc b/content/browser/frame_host/navigation_controller_impl_unittest.cc
|
| index b01157bf13be2272044ab388e6344253a3bf35f3..9d43dccc94637ed166b81d7800cfc3e3c54d9339 100644
|
| --- a/content/browser/frame_host/navigation_controller_impl_unittest.cc
|
| +++ b/content/browser/frame_host/navigation_controller_impl_unittest.cc
|
| @@ -133,6 +133,12 @@ class MockScreenshotManager : public content::NavigationEntryScreenshotManager {
|
| DISALLOW_COPY_AND_ASSIGN(MockScreenshotManager);
|
| };
|
|
|
| +int64_t GenerateSequenceNumber() {
|
| + // Based on how Blink generates sequence numbers.
|
| + static int64_t next_number = base::Time::Now().ToDoubleT() * 1000000;
|
| + return ++next_number;
|
| +}
|
| +
|
| } // namespace
|
|
|
| namespace content {
|
| @@ -2459,7 +2465,8 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
| const GURL subframe_url("http://foo1/subframe");
|
|
|
| // Compute the sequence number assigned by Blink.
|
| - int64_t item_sequence_number1 = base::Time::Now().ToDoubleT() * 1000000;
|
| + int64_t item_sequence_number1 = GenerateSequenceNumber();
|
| + int64_t document_sequence_number1 = GenerateSequenceNumber();
|
|
|
| {
|
| FrameHostMsg_DidCommitProvisionalLoad_Params params;
|
| @@ -2472,8 +2479,10 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
| params.should_update_history = false;
|
| params.gesture = NavigationGestureUser;
|
| params.method = "GET";
|
| - params.page_state = PageState::CreateFromURL(subframe_url);
|
| + params.page_state = PageState::CreateForTestingWithSequenceNumbers(
|
| + subframe_url, item_sequence_number1, document_sequence_number1);
|
| params.item_sequence_number = item_sequence_number1;
|
| + params.document_sequence_number = document_sequence_number1;
|
|
|
| // Navigating should do nothing.
|
| subframe->SendRendererInitiatedNavigationRequest(subframe_url, false);
|
| @@ -2490,7 +2499,8 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
|
|
| // First manual subframe navigation.
|
| const GURL url2("http://foo2");
|
| - int64_t item_sequence_number2 = base::Time::Now().ToDoubleT() * 1000000;
|
| + int64_t item_sequence_number2 = GenerateSequenceNumber();
|
| + int64_t document_sequence_number2 = GenerateSequenceNumber();
|
| FrameHostMsg_DidCommitProvisionalLoad_Params params;
|
| params.page_id = 2;
|
| params.nav_entry_id = 0;
|
| @@ -2501,8 +2511,10 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
| params.should_update_history = false;
|
| params.gesture = NavigationGestureUser;
|
| params.method = "GET";
|
| - params.page_state = PageState::CreateFromURL(url2);
|
| + params.page_state = PageState::CreateForTestingWithSequenceNumbers(
|
| + url2, item_sequence_number2, document_sequence_number2);
|
| params.item_sequence_number = item_sequence_number2;
|
| + params.document_sequence_number = document_sequence_number2;
|
|
|
| // This should generate a new entry.
|
| subframe->SendRendererInitiatedNavigationRequest(url2, false);
|
| @@ -2526,14 +2538,18 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
|
|
| // Second manual subframe navigation should also make a new entry.
|
| const GURL url3("http://foo3");
|
| + int64_t item_sequence_number3 = GenerateSequenceNumber();
|
| + int64_t document_sequence_number3 = GenerateSequenceNumber();
|
| params.page_id = 3;
|
| params.nav_entry_id = 0;
|
| params.frame_unique_name = unique_name;
|
| params.did_create_new_entry = true;
|
| params.url = url3;
|
| params.transition = ui::PAGE_TRANSITION_MANUAL_SUBFRAME;
|
| - params.page_state = PageState::CreateFromURL(url3);
|
| - params.item_sequence_number = base::Time::Now().ToDoubleT() * 1000000;
|
| + params.item_sequence_number = item_sequence_number3;
|
| + params.document_sequence_number = document_sequence_number3;
|
| + params.page_state = PageState::CreateForTestingWithSequenceNumbers(
|
| + url3, item_sequence_number3, document_sequence_number3);
|
| subframe->SendRendererInitiatedNavigationRequest(url3, false);
|
| subframe->PrepareForCommit();
|
| subframe->SendNavigateWithParams(¶ms);
|
| @@ -2561,8 +2577,10 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
| params.did_create_new_entry = false;
|
| params.url = url2;
|
| params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
|
| - params.page_state = PageState::CreateFromURL(url2);
|
| + params.page_state = PageState::CreateForTestingWithSequenceNumbers(
|
| + url2, item_sequence_number2, document_sequence_number2);
|
| params.item_sequence_number = item_sequence_number2;
|
| + params.document_sequence_number = document_sequence_number2;
|
| subframe->PrepareForCommit();
|
| subframe->SendNavigateWithParams(¶ms);
|
| EXPECT_EQ(1U, navigation_entry_committed_counter_);
|
| @@ -2581,8 +2599,10 @@ TEST_F(NavigationControllerTest, BackSubframe) {
|
| params.did_create_new_entry = false;
|
| params.url = subframe_url;
|
| params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
|
| - params.page_state = PageState::CreateFromURL(subframe_url);
|
| + params.page_state = PageState::CreateForTestingWithSequenceNumbers(
|
| + subframe_url, item_sequence_number1, document_sequence_number1);
|
| params.item_sequence_number = item_sequence_number1;
|
| + params.document_sequence_number = document_sequence_number1;
|
| subframe->PrepareForCommit();
|
| subframe->SendNavigateWithParams(¶ms);
|
| EXPECT_EQ(1U, navigation_entry_committed_counter_);
|
|
|