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 = GetNavigationRequestForFrameTreeNode(node); | 418 NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node); |
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()->cross_navigation_pending()); |
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()->cross_navigation_pending()); |
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 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
991 main_rfh->SendRendererInitiatedNavigationRequest(kUrl2, true); | 993 main_rfh->SendRendererInitiatedNavigationRequest(kUrl2, true); |
992 navigation_request = GetNavigationRequestForFrameTreeNode(node); | 994 navigation_request = GetNavigationRequestForFrameTreeNode(node); |
993 ASSERT_TRUE(navigation_request); | 995 ASSERT_TRUE(navigation_request); |
994 EXPECT_EQ(NavigationRequest::RESPONSE_STARTED, | 996 EXPECT_EQ(NavigationRequest::RESPONSE_STARTED, |
995 navigation_request->state()); | 997 navigation_request->state()); |
996 EXPECT_FALSE(navigation_request->loader_for_testing()); | 998 EXPECT_FALSE(navigation_request->loader_for_testing()); |
997 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); | 999 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
998 } | 1000 } |
999 | 1001 |
1000 } // namespace content | 1002 } // namespace content |
OLD | NEW |