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 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 // Navigate to a different site. | 415 // Navigate to a different site. |
416 process()->sink().ClearMessages(); | 416 process()->sink().ClearMessages(); |
417 RequestNavigation(node, kUrl2); | 417 RequestNavigation(node, kUrl2); |
418 NavigationRequest* main_request = node->navigation_request(); | 418 NavigationRequest* main_request = node->navigation_request(); |
419 ASSERT_TRUE(main_request); | 419 ASSERT_TRUE(main_request); |
420 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); | 420 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
421 | 421 |
422 // Receive the beforeUnload ACK. | 422 // Receive the beforeUnload ACK. |
423 main_test_rfh()->SendBeforeUnloadACK(true); | 423 main_test_rfh()->SendBeforeUnloadACK(true); |
424 EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); | 424 EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
| 425 EXPECT_FALSE(contents()->CrossProcessNavigationPending()); |
425 | 426 |
426 scoped_refptr<ResourceResponse> response(new ResourceResponse); | 427 scoped_refptr<ResourceResponse> response(new ResourceResponse); |
427 GetLoaderForNavigationRequest(main_request)->CallOnResponseStarted( | 428 GetLoaderForNavigationRequest(main_request)->CallOnResponseStarted( |
428 response, MakeEmptyStream()); | 429 response, MakeEmptyStream()); |
429 TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); | 430 TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); |
430 ASSERT_TRUE(speculative_rfh); | 431 ASSERT_TRUE(speculative_rfh); |
431 EXPECT_TRUE(DidRenderFrameHostRequestCommit(speculative_rfh)); | 432 EXPECT_TRUE(DidRenderFrameHostRequestCommit(speculative_rfh)); |
432 EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); | 433 EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); |
| 434 EXPECT_TRUE(contents()->CrossProcessNavigationPending()); |
433 | 435 |
434 speculative_rfh->SendNavigate(0, kUrl2); | 436 speculative_rfh->SendNavigate(0, kUrl2); |
435 | 437 |
436 RenderFrameHostImpl* final_rfh = main_test_rfh(); | 438 RenderFrameHostImpl* final_rfh = main_test_rfh(); |
437 EXPECT_EQ(speculative_rfh, final_rfh); | 439 EXPECT_EQ(speculative_rfh, final_rfh); |
438 EXPECT_NE(initial_rfh, final_rfh); | 440 EXPECT_NE(initial_rfh, final_rfh); |
439 EXPECT_TRUE(final_rfh->IsRenderFrameLive()); | 441 EXPECT_TRUE(final_rfh->IsRenderFrameLive()); |
440 EXPECT_TRUE(final_rfh->render_view_host()->IsRenderViewLive()); | 442 EXPECT_TRUE(final_rfh->render_view_host()->IsRenderViewLive()); |
441 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); | 443 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
442 } | 444 } |
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 | 1119 |
1118 SiteInstance* converted_instance_2 = | 1120 SiteInstance* converted_instance_2 = |
1119 ConvertToSiteInstance(rfhm, descriptor, unrelated_instance.get()); | 1121 ConvertToSiteInstance(rfhm, descriptor, unrelated_instance.get()); |
1120 // Should return |unrelated_instance| because its site matches and it is | 1122 // Should return |unrelated_instance| because its site matches and it is |
1121 // unrelated to the current SiteInstance. | 1123 // unrelated to the current SiteInstance. |
1122 EXPECT_EQ(unrelated_instance.get(), converted_instance_2); | 1124 EXPECT_EQ(unrelated_instance.get(), converted_instance_2); |
1123 } | 1125 } |
1124 } | 1126 } |
1125 | 1127 |
1126 } // namespace content | 1128 } // namespace content |
OLD | NEW |