Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1646)

Unified Diff: content/renderer/render_view_browsertest.cc

Issue 1104603002: Pick frame to navigate in the browser process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add test cases Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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());
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698