Index: content/renderer/render_view_browsertest.cc |
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc |
index f01c8928078b7b386cd6f85e4711f7817d488e00..38e8ca7c3e2eb565e250cbeae92d020f0f4ea9e0 100644 |
--- a/content/renderer/render_view_browsertest.cc |
+++ b/content/renderer/render_view_browsertest.cc |
@@ -285,17 +285,24 @@ class RenderViewImplTest : public RenderViewTest { |
view()->OnSetZoomLevelForView(false, level); |
} |
- void NavigateFrame(const CommonNavigationParams& common_params, |
+ void NavigateMainFrame(const CommonNavigationParams& common_params, |
+ const StartNavigationParams& start_params, |
+ const RequestNavigationParams& request_params) { |
+ NavigateFrame(frame(), common_params, start_params, request_params); |
+ } |
+ |
+ void NavigateFrame(RenderFrameImpl* frame, |
+ const CommonNavigationParams& common_params, |
const StartNavigationParams& start_params, |
const RequestNavigationParams& request_params) { |
// PlzNavigate |
if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableBrowserSideNavigation)) { |
- frame()->OnCommitNavigation(ResourceResponseHead(), common_params.url, |
- common_params, request_params); |
+ frame->OnCommitNavigation(ResourceResponseHead(), common_params.url, |
+ common_params, request_params); |
return; |
} |
- frame()->OnNavigate(common_params, start_params, request_params); |
+ frame->OnNavigate(common_params, start_params, request_params); |
} |
void SwapOut(RenderFrameImpl* frame, |
@@ -473,7 +480,7 @@ TEST_F(RenderViewImplTest, OnNavigationHttpPost) { |
start_params.is_post = true; |
start_params.browser_initiated_post_data = post_data; |
- NavigateFrame(common_params, start_params, request_params); |
+ NavigateMainFrame(common_params, start_params, request_params); |
ProcessPendingMessages(); |
const IPC::Message* frame_navigate_msg = |
@@ -672,7 +679,7 @@ TEST_F(RenderViewImplTest, SendSwapOutACK) { |
request_params.current_history_list_offset = 0; |
request_params.pending_history_list_offset = 1; |
request_params.page_id = -1; |
- NavigateFrame(common_params, StartNavigationParams(), request_params); |
+ NavigateMainFrame(common_params, StartNavigationParams(), request_params); |
ProcessPendingMessages(); |
const IPC::Message* msg3 = render_thread_->sink().GetUniqueMessageMatching( |
ViewHostMsg_UpdateState::ID); |
@@ -710,7 +717,7 @@ TEST_F(RenderViewImplTest, ReloadWhileSwappedOut) { |
request_params_A.pending_history_list_offset = 0; |
request_params_A.page_id = 1; |
request_params_A.page_state = state_A; |
- NavigateFrame(common_params_A, StartNavigationParams(), request_params_A); |
+ NavigateMainFrame(common_params_A, StartNavigationParams(), request_params_A); |
EXPECT_EQ(1, view()->historyBackListCount()); |
EXPECT_EQ(2, view()->historyBackListCount() + |
view()->historyForwardListCount() + 1); |
@@ -739,7 +746,7 @@ TEST_F(RenderViewImplTest, ReloadWhileSwappedOut) { |
request_params.pending_history_list_offset = 0; |
request_params.page_id = 1; |
request_params.page_state = state_A; |
- NavigateFrame(common_params, StartNavigationParams(), request_params); |
+ NavigateMainFrame(common_params, StartNavigationParams(), request_params); |
ProcessPendingMessages(); |
// Verify page A committed, not swappedout://. |
@@ -857,7 +864,7 @@ TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) { |
request_params_C.pending_history_list_offset = 2; |
request_params_C.page_id = 3; |
request_params_C.page_state = state_C; |
- NavigateFrame(common_params_C, StartNavigationParams(), request_params_C); |
+ NavigateMainFrame(common_params_C, StartNavigationParams(), request_params_C); |
ProcessPendingMessages(); |
render_thread_->sink().ClearMessages(); |
@@ -875,7 +882,7 @@ TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) { |
request_params_B.pending_history_list_offset = 1; |
request_params_B.page_id = 2; |
request_params_B.page_state = state_B; |
- NavigateFrame(common_params_B, StartNavigationParams(), request_params_B); |
+ NavigateMainFrame(common_params_B, StartNavigationParams(), request_params_B); |
// Back to page A (page_id 1) and commit. |
CommonNavigationParams common_params; |
@@ -887,7 +894,7 @@ TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) { |
request_params.pending_history_list_offset = 0; |
request_params.page_id = 1; |
request_params.page_state = state_A; |
- NavigateFrame(common_params, StartNavigationParams(), request_params); |
+ NavigateMainFrame(common_params, StartNavigationParams(), request_params); |
ProcessPendingMessages(); |
// Now ensure that the UpdateState message we receive is consistent |
@@ -939,7 +946,7 @@ TEST_F(RenderViewImplTest, StaleNavigationsIgnored) { |
request_params_A.pending_history_list_offset = 0; |
request_params_A.page_id = 1; |
request_params_A.page_state = state_A; |
- NavigateFrame(common_params_A, StartNavigationParams(), request_params_A); |
+ NavigateMainFrame(common_params_A, StartNavigationParams(), request_params_A); |
ProcessPendingMessages(); |
// A new navigation commits, clearing the forward history. |
@@ -959,7 +966,7 @@ TEST_F(RenderViewImplTest, StaleNavigationsIgnored) { |
request_params_B.page_id = 2; |
request_params_B.page_state = |
state_A; // Doesn't matter, just has to be present. |
- NavigateFrame(common_params_B, StartNavigationParams(), request_params_B); |
+ NavigateMainFrame(common_params_B, StartNavigationParams(), request_params_B); |
// State should be unchanged. |
EXPECT_EQ(2, view()->history_list_length_); |
@@ -1674,8 +1681,8 @@ TEST_F(RenderViewImplTest, DISABLED_DidFailProvisionalLoadWithErrorForError) { |
CommonNavigationParams common_params; |
common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; |
common_params.url = GURL("data:text/html,test data"); |
- NavigateFrame(common_params, StartNavigationParams(), |
- RequestNavigationParams()); |
+ NavigateMainFrame(common_params, StartNavigationParams(), |
+ RequestNavigationParams()); |
// An error occurred. |
view()->GetMainRenderFrame()->didFailProvisionalLoad( |
@@ -1697,8 +1704,8 @@ TEST_F(RenderViewImplTest, DidFailProvisionalLoadWithErrorForCancellation) { |
CommonNavigationParams common_params; |
common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; |
common_params.url = GURL("data:text/html,test data"); |
- NavigateFrame(common_params, StartNavigationParams(), |
- RequestNavigationParams()); |
+ NavigateMainFrame(common_params, StartNavigationParams(), |
+ RequestNavigationParams()); |
// A cancellation occurred. |
view()->GetMainRenderFrame()->didFailProvisionalLoad( |
@@ -1895,8 +1902,8 @@ TEST_F(RenderViewImplTest, ZoomLimit) { |
CommonNavigationParams common_params; |
common_params.url = GURL("data:text/html,min_zoomlimit_test"); |
view()->OnSetZoomLevelForLoadingURL(common_params.url, kMinZoomLevel); |
- NavigateFrame(common_params, StartNavigationParams(), |
- RequestNavigationParams()); |
+ NavigateMainFrame(common_params, StartNavigationParams(), |
+ RequestNavigationParams()); |
ProcessPendingMessages(); |
EXPECT_DOUBLE_EQ(kMinZoomLevel, view()->GetWebView()->zoomLevel()); |
@@ -1905,8 +1912,8 @@ TEST_F(RenderViewImplTest, ZoomLimit) { |
ZoomFactorToZoomLevel(1.0)); |
common_params.url = GURL("data:text/html,max_zoomlimit_test"); |
view()->OnSetZoomLevelForLoadingURL(common_params.url, kMaxZoomLevel); |
- NavigateFrame(common_params, StartNavigationParams(), |
- RequestNavigationParams()); |
+ NavigateMainFrame(common_params, StartNavigationParams(), |
+ RequestNavigationParams()); |
ProcessPendingMessages(); |
EXPECT_DOUBLE_EQ(kMaxZoomLevel, view()->GetWebView()->zoomLevel()); |
} |
@@ -1961,7 +1968,7 @@ TEST_F(RenderViewImplTest, OnExtendSelectionAndDelete) { |
} |
// Test that the navigating specific frames works correctly. |
-TEST_F(RenderViewImplTest, NavigateFrame) { |
+TEST_F(RenderViewImplTest, NavigateSubframe) { |
// Load page A. |
LoadHTML("hello <iframe srcdoc='fail' name='frame'></iframe>"); |
@@ -1975,12 +1982,14 @@ TEST_F(RenderViewImplTest, NavigateFrame) { |
request_params.current_history_list_offset = 0; |
request_params.pending_history_list_offset = 1; |
request_params.page_id = -1; |
- request_params.frame_to_navigate = "frame"; |
request_params.browser_navigation_start = |
base::TimeTicks::FromInternalValue(1); |
- NavigateFrame(common_params, StartNavigationParams(), request_params); |
- FrameLoadWaiter( |
- RenderFrame::FromWebFrame(frame()->GetWebFrame()->firstChild())).Wait(); |
+ |
+ RenderFrameImpl* subframe = RenderFrameImpl::FromWebFrame( |
+ view()->webview()->findFrameByName("frame")); |
+ NavigateFrame(subframe, common_params, StartNavigationParams(), |
+ request_params); |
+ FrameLoadWaiter(subframe).Wait(); |
// Copy the document content to std::wstring and compare with the |
// expected result. |
@@ -2095,8 +2104,8 @@ TEST_F(SuppressErrorPageTest, MAYBE_Suppresses) { |
CommonNavigationParams common_params; |
common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; |
common_params.url = GURL("data:text/html,test data"); |
- NavigateFrame(common_params, StartNavigationParams(), |
- RequestNavigationParams()); |
+ NavigateMainFrame(common_params, StartNavigationParams(), |
+ RequestNavigationParams()); |
// An error occurred. |
view()->GetMainRenderFrame()->didFailProvisionalLoad( |
@@ -2125,8 +2134,8 @@ TEST_F(SuppressErrorPageTest, MAYBE_DoesNotSuppress) { |
CommonNavigationParams common_params; |
common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; |
common_params.url = GURL("data:text/html,test data"); |
- NavigateFrame(common_params, StartNavigationParams(), |
- RequestNavigationParams()); |
+ NavigateMainFrame(common_params, StartNavigationParams(), |
+ RequestNavigationParams()); |
// An error occurred. |
view()->GetMainRenderFrame()->didFailProvisionalLoad( |
@@ -2336,7 +2345,8 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) { |
early_request_params.browser_navigation_start = |
base::TimeTicks::FromInternalValue(1); |
- NavigateFrame(early_common_params, early_start_params, early_request_params); |
+ NavigateMainFrame(early_common_params, early_start_params, |
+ early_request_params); |
ProcessPendingMessages(); |
base::Time early_nav_reported_start = |
@@ -2356,7 +2366,7 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) { |
late_request_params.browser_navigation_start = |
base::TimeTicks::Now() + base::TimeDelta::FromDays(42); |
- NavigateFrame(late_common_params, late_start_params, late_request_params); |
+ NavigateMainFrame(late_common_params, late_start_params, late_request_params); |
ProcessPendingMessages(); |
base::Time after_navigation = |
base::Time::Now() + base::TimeDelta::FromDays(1); |
@@ -2393,8 +2403,8 @@ TEST_F(RenderViewImplTest, HistoryIsProperlyUpdatedOnNavigation) { |
request_params.current_history_list_offset = 1; |
request_params.pending_history_list_offset = 2; |
request_params.page_id = -1; |
- NavigateFrame(CommonNavigationParams(), StartNavigationParams(), |
- request_params); |
+ NavigateMainFrame(CommonNavigationParams(), StartNavigationParams(), |
+ request_params); |
// The history list in RenderView should have been updated. |
EXPECT_EQ(1, view()->historyBackListCount()); |