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 |