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 923 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
934 GetSpeculativeRenderFrameHost(node)->rfh_state()); | 934 GetSpeculativeRenderFrameHost(node)->rfh_state()); |
935 EXPECT_TRUE(DidRenderFrameHostRequestCommit(rfh1)); | 935 EXPECT_TRUE(DidRenderFrameHostRequestCommit(rfh1)); |
936 EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); | 936 EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); |
937 | 937 |
938 rfh1->SendNavigate(1, kUrl1); | 938 rfh1->SendNavigate(1, kUrl1); |
939 EXPECT_EQ(rfh1, main_test_rfh()); | 939 EXPECT_EQ(rfh1, main_test_rfh()); |
940 EXPECT_EQ(RenderFrameHostImpl::STATE_DEFAULT, rfh1->rfh_state()); | 940 EXPECT_EQ(RenderFrameHostImpl::STATE_DEFAULT, rfh1->rfh_state()); |
941 EXPECT_FALSE(rfhm->IsOnSwappedOutList(rfh1)); | 941 EXPECT_FALSE(rfhm->IsOnSwappedOutList(rfh1)); |
942 } | 942 } |
943 | 943 |
944 // PlzNavigate: Verify that data urls are properly handled. | |
Charlie Reis
2015/02/20 22:11:50
Can you add a second test for base_url_for_data_ur
clamy
2015/02/26 15:28:36
What exactly would you want to test in that test?
| |
945 TEST_F(NavigatorTestWithBrowserSideNavigation, DataUrls) { | |
946 const GURL kUrl1("http://wikipedia.org/"); | |
947 const GURL kUrl2("data:test"); | |
948 | |
949 // Navigate to an initial site. | |
950 contents()->NavigateAndCommit(kUrl1); | |
951 FrameTreeNode* node = main_test_rfh()->frame_tree_node(); | |
952 | |
953 // Navigate to a data url. | |
954 RequestNavigation(node, kUrl2); | |
955 NavigationRequest* navigation_request = | |
956 GetNavigationRequestForFrameTreeNode(node); | |
957 ASSERT_TRUE(navigation_request); | |
958 EXPECT_EQ(NavigationRequest::WAITING_FOR_RENDERER_RESPONSE, | |
959 navigation_request->state()); | |
960 main_test_rfh()->SendBeforeUnloadACK(true); | |
961 | |
962 // The request should not have been sent to the IO thread but committed | |
963 // immediately. | |
964 EXPECT_EQ(NavigationRequest::RESPONSE_STARTED, | |
965 navigation_request->state()); | |
966 EXPECT_FALSE(navigation_request->loader_for_testing()); | |
967 TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); | |
968 ASSERT_TRUE(speculative_rfh); | |
Charlie Reis
2015/02/20 22:11:50
Why is there a speculative RFH? NavigatorImpl::Be
carlosk
2015/02/23 10:50:28
Line 960 causes it to be called.
clamy
2015/02/26 15:28:36
No, in that case NavigationRequest::BeginNavigatio
| |
969 speculative_rfh->SendNavigate(0, kUrl2); | |
970 EXPECT_EQ(main_test_rfh(), speculative_rfh); | |
971 | |
972 // Go back to the initial site. | |
973 contents()->NavigateAndCommit(kUrl1); | |
974 | |
975 // Do a renderer-initiated navigation to a data url. The request should be | |
Charlie Reis
2015/02/20 22:11:50
should not?
clamy
2015/02/26 15:28:36
Done.
| |
976 // sent to the IO thread, nor committed. | |
977 TestRenderFrameHost* main_rfh = main_test_rfh(); | |
978 main_rfh->SendBeginNavigationWithURL(kUrl2); | |
979 navigation_request = GetNavigationRequestForFrameTreeNode(node); | |
980 ASSERT_TRUE(navigation_request); | |
981 EXPECT_EQ(NavigationRequest::RESPONSE_STARTED, | |
982 navigation_request->state()); | |
983 EXPECT_FALSE(navigation_request->loader_for_testing()); | |
984 EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); | |
985 main_rfh->SendNavigate(1, kUrl2); | |
986 EXPECT_EQ(main_test_rfh(), main_rfh); | |
987 } | |
988 | |
944 } // namespace content | 989 } // namespace content |
OLD | NEW |