| 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());
|
|
|