| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/macros.h" | 6 #include "base/macros.h" |
| 7 #include "base/time/time.h" | 7 #include "base/time/time.h" |
| 8 #include "content/browser/frame_host/navigation_controller_impl.h" | 8 #include "content/browser/frame_host/navigation_controller_impl.h" |
| 9 #include "content/browser/frame_host/navigation_entry_impl.h" | 9 #include "content/browser/frame_host/navigation_entry_impl.h" |
| 10 #include "content/browser/frame_host/navigation_request.h" | 10 #include "content/browser/frame_host/navigation_request.h" |
| (...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 // Navigate to a different site. | 425 // Navigate to a different site. |
| 426 process()->sink().ClearMessages(); | 426 process()->sink().ClearMessages(); |
| 427 RequestNavigation(node, kUrl2); | 427 RequestNavigation(node, kUrl2); |
| 428 NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node); | 428 NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node); |
| 429 ASSERT_TRUE(main_request); | 429 ASSERT_TRUE(main_request); |
| 430 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); | 430 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| 431 | 431 |
| 432 // Receive the beforeUnload ACK. | 432 // Receive the beforeUnload ACK. |
| 433 main_test_rfh()->SendBeforeUnloadACK(true); | 433 main_test_rfh()->SendBeforeUnloadACK(true); |
| 434 EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); | 434 EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
| 435 EXPECT_FALSE(contents()->CrossNavigationPending()); |
| 435 | 436 |
| 436 scoped_refptr<ResourceResponse> response(new ResourceResponse); | 437 scoped_refptr<ResourceResponse> response(new ResourceResponse); |
| 437 GetLoaderForNavigationRequest(main_request)->CallOnResponseStarted( | 438 GetLoaderForNavigationRequest(main_request)->CallOnResponseStarted( |
| 438 response, MakeEmptyStream()); | 439 response, MakeEmptyStream()); |
| 439 TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); | 440 TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); |
| 440 ASSERT_TRUE(speculative_rfh); | 441 ASSERT_TRUE(speculative_rfh); |
| 441 EXPECT_TRUE(DidRenderFrameHostRequestCommit(speculative_rfh)); | 442 EXPECT_TRUE(DidRenderFrameHostRequestCommit(speculative_rfh)); |
| 442 EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); | 443 EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); |
| 444 EXPECT_TRUE(contents()->CrossNavigationPending()); |
| 443 | 445 |
| 444 speculative_rfh->SendNavigate(0, kUrl2); | 446 speculative_rfh->SendNavigate(0, kUrl2); |
| 445 | 447 |
| 446 RenderFrameHostImpl* final_rfh = main_test_rfh(); | 448 RenderFrameHostImpl* final_rfh = main_test_rfh(); |
| 447 EXPECT_EQ(speculative_rfh, final_rfh); | 449 EXPECT_EQ(speculative_rfh, final_rfh); |
| 448 EXPECT_NE(initial_rfh, final_rfh); | 450 EXPECT_NE(initial_rfh, final_rfh); |
| 449 EXPECT_TRUE(final_rfh->IsRenderFrameLive()); | 451 EXPECT_TRUE(final_rfh->IsRenderFrameLive()); |
| 450 EXPECT_TRUE(final_rfh->render_view_host()->IsRenderViewLive()); | 452 EXPECT_TRUE(final_rfh->render_view_host()->IsRenderViewLive()); |
| 451 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); | 453 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| 452 } | 454 } |
| (...skipping 677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1130 | 1132 |
| 1131 SiteInstance* converted_instance_2 = | 1133 SiteInstance* converted_instance_2 = |
| 1132 ConvertToSiteInstance(rfhm, descriptor, unrelated_instance.get()); | 1134 ConvertToSiteInstance(rfhm, descriptor, unrelated_instance.get()); |
| 1133 // Should return |unrelated_instance| because its site matches and it is | 1135 // Should return |unrelated_instance| because its site matches and it is |
| 1134 // unrelated to the current SiteInstance. | 1136 // unrelated to the current SiteInstance. |
| 1135 EXPECT_EQ(unrelated_instance.get(), converted_instance_2); | 1137 EXPECT_EQ(unrelated_instance.get(), converted_instance_2); |
| 1136 } | 1138 } |
| 1137 } | 1139 } |
| 1138 | 1140 |
| 1139 } // namespace content | 1141 } // namespace content |
| OLD | NEW |