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

Unified Diff: content/renderer/render_view_browsertest.cc

Issue 483773002: PlzNavigate: implement CommitNavigation on the browser side (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Nasko's comments Created 6 years, 3 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
Index: content/renderer/render_view_browsertest.cc
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
index 5752e37f4421491347d8f1693f036531a5c58049..5b325ea407ee0e890d8e4d28898d2424d87ac11d 100644
--- a/content/renderer/render_view_browsertest.cc
+++ b/content/renderer/render_view_browsertest.cc
@@ -363,19 +363,20 @@ TEST_F(RenderViewImplTest, OnNavigationHttpPost) {
FrameMsg_Navigate_Params nav_params;
// An http url will trigger a resource load so cannot be used here.
- nav_params.url = GURL("data:text/html,<div>Page</div>");
- nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- nav_params.transition = ui::PAGE_TRANSITION_TYPED;
+ nav_params.core_params.url = GURL("data:text/html,<div>Page</div>");
+ nav_params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ nav_params.core_params.transition = ui::PAGE_TRANSITION_TYPED;
nav_params.page_id = -1;
- nav_params.is_post = true;
- nav_params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ nav_params.request_params.is_post = true;
+ nav_params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
// Set up post data.
const unsigned char* raw_data = reinterpret_cast<const unsigned char*>(
"post \0\ndata");
const unsigned int length = 11;
const std::vector<unsigned char> post_data(raw_data, raw_data + length);
- nav_params.browser_initiated_post_data = post_data;
+ nav_params.request_params.browser_initiated_post_data = post_data;
frame()->OnNavigate(nav_params);
ProcessPendingMessages();
@@ -568,14 +569,15 @@ TEST_F(RenderViewImplTest, SendSwapOutACK) {
// If we navigate back to this RenderView, ensure we don't send a state
// update for the swapped out URL. (http://crbug.com/72235)
FrameMsg_Navigate_Params nav_params;
- nav_params.url = GURL("data:text/html,<div>Page B</div>");
- nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- nav_params.transition = ui::PAGE_TRANSITION_TYPED;
+ nav_params.core_params.url = GURL("data:text/html,<div>Page B</div>");
+ nav_params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ nav_params.core_params.transition = ui::PAGE_TRANSITION_TYPED;
nav_params.current_history_list_length = 1;
nav_params.current_history_list_offset = 0;
nav_params.pending_history_list_offset = 1;
nav_params.page_id = -1;
- nav_params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ nav_params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(nav_params);
ProcessPendingMessages();
const IPC::Message* msg3 = render_thread_->sink().GetUniqueMessageMatching(
@@ -606,14 +608,15 @@ TEST_F(RenderViewImplTest, ReloadWhileSwappedOut) {
// Back to page A (page_id 1) and commit.
FrameMsg_Navigate_Params params_A;
- params_A.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params_A.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params_A.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params_A.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_A.current_history_list_length = 2;
params_A.current_history_list_offset = 1;
params_A.pending_history_list_offset = 0;
params_A.page_id = 1;
- params_A.page_state = state_A;
- params_A.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params_A.commit_params.page_state = state_A;
+ params_A.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params_A);
ProcessPendingMessages();
@@ -631,15 +634,16 @@ TEST_F(RenderViewImplTest, ReloadWhileSwappedOut) {
// provisional load in the renderer process, after we unload the old page).
// Ensure the old page gets reloaded, not swappedout://.
FrameMsg_Navigate_Params nav_params;
- nav_params.url = GURL("data:text/html,<div>Page A</div>");
- nav_params.navigation_type = FrameMsg_Navigate_Type::RELOAD;
- nav_params.transition = ui::PAGE_TRANSITION_RELOAD;
+ nav_params.core_params.url = GURL("data:text/html,<div>Page A</div>");
+ nav_params.core_params.navigation_type = FrameMsg_Navigate_Type::RELOAD;
+ nav_params.core_params.transition = ui::PAGE_TRANSITION_RELOAD;
nav_params.current_history_list_length = 2;
nav_params.current_history_list_offset = 0;
nav_params.pending_history_list_offset = 0;
nav_params.page_id = 1;
- nav_params.page_state = state_A;
- nav_params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ nav_params.commit_params.page_state = state_A;
+ nav_params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(nav_params);
ProcessPendingMessages();
@@ -711,14 +715,15 @@ TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) {
// Go back to C and commit, preparing for our real test.
FrameMsg_Navigate_Params params_C;
- params_C.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params_C.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params_C.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params_C.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_C.current_history_list_length = 4;
params_C.current_history_list_offset = 3;
params_C.pending_history_list_offset = 2;
params_C.page_id = 3;
- params_C.page_state = state_C;
- params_C.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params_C.commit_params.page_state = state_C;
+ params_C.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params_C);
ProcessPendingMessages();
render_thread_->sink().ClearMessages();
@@ -729,26 +734,28 @@ TEST_F(RenderViewImplTest, DISABLED_LastCommittedUpdateState) {
// Back to page B (page_id 2), without committing.
FrameMsg_Navigate_Params params_B;
- params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params_B.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params_B.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_B.current_history_list_length = 4;
params_B.current_history_list_offset = 2;
params_B.pending_history_list_offset = 1;
params_B.page_id = 2;
- params_B.page_state = state_B;
- params_B.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params_B.commit_params.page_state = state_B;
+ params_B.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params_B);
// Back to page A (page_id 1) and commit.
FrameMsg_Navigate_Params params;
- params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_B.current_history_list_length = 4;
params_B.current_history_list_offset = 2;
params_B.pending_history_list_offset = 0;
params.page_id = 1;
- params.page_state = state_A;
- params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params.commit_params.page_state = state_A;
+ params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params);
ProcessPendingMessages();
@@ -796,14 +803,15 @@ TEST_F(RenderViewImplTest, StaleNavigationsIgnored) {
// Back to page A (page_id 1) and commit.
FrameMsg_Navigate_Params params_A;
- params_A.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params_A.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params_A.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params_A.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_A.current_history_list_length = 2;
params_A.current_history_list_offset = 1;
params_A.pending_history_list_offset = 0;
params_A.page_id = 1;
- params_A.page_state = state_A;
- params_A.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params_A.commit_params.page_state = state_A;
+ params_A.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params_A);
ProcessPendingMessages();
@@ -815,14 +823,16 @@ TEST_F(RenderViewImplTest, StaleNavigationsIgnored) {
// The browser then sends a stale navigation to B, which should be ignored.
FrameMsg_Navigate_Params params_B;
- params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params_B.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params_B.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_B.current_history_list_length = 2;
params_B.current_history_list_offset = 0;
params_B.pending_history_list_offset = 1;
params_B.page_id = 2;
- params_B.page_state = state_A; // Doesn't matter, just has to be present.
- params_B.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params_B.commit_params.page_state =
+ state_A; // Doesn't matter, just has to be present.
+ params_B.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params_B);
// State should be unchanged.
@@ -883,14 +893,15 @@ TEST_F(RenderViewImplTest, DontIgnoreBackAfterNavEntryLimit) {
// It has now dropped the first entry, but the renderer isn't notified.
// Ensure that going back to page B (page_id 2) at offset 0 is successful.
FrameMsg_Navigate_Params params_B;
- params_B.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params_B.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
+ params_B.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params_B.core_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK;
params_B.current_history_list_length = 2;
params_B.current_history_list_offset = 1;
params_B.pending_history_list_offset = 0;
params_B.page_id = 2;
- params_B.page_state = state_B;
- params_B.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params_B.commit_params.page_state = state_B;
+ params_B.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params_B);
ProcessPendingMessages();
@@ -1596,9 +1607,10 @@ TEST_F(RenderViewImplTest, DISABLED_DidFailProvisionalLoadWithErrorForError) {
// but won't complete synchronously.
FrameMsg_Navigate_Params params;
params.page_id = -1;
- params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params.url = GURL("data:text/html,test data");
- params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params.core_params.url = GURL("data:text/html,test data");
+ params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params);
// An error occurred.
@@ -1619,9 +1631,10 @@ TEST_F(RenderViewImplTest, DidFailProvisionalLoadWithErrorForCancellation) {
// but won't complete synchronously.
FrameMsg_Navigate_Params params;
params.page_id = -1;
- params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params.url = GURL("data:text/html,test data");
- params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params.core_params.url = GURL("data:text/html,test data");
+ params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params);
// A cancellation occurred.
@@ -2001,14 +2014,15 @@ TEST_F(RenderViewImplTest, ZoomLimit) {
FrameMsg_Navigate_Params params;
params.page_id = -1;
- params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
// Verifies navigation to a URL with preset zoom level indeed sets the level.
// Regression test for http://crbug.com/139559, where the level was not
// properly set when it is out of the default zoom limits of WebView.
- params.url = GURL("data:text/html,min_zoomlimit_test");
- view()->OnSetZoomLevelForLoadingURL(params.url, kMinZoomLevel);
+ params.core_params.url = GURL("data:text/html,min_zoomlimit_test");
+ view()->OnSetZoomLevelForLoadingURL(params.core_params.url, kMinZoomLevel);
frame()->OnNavigate(params);
ProcessPendingMessages();
EXPECT_DOUBLE_EQ(kMinZoomLevel, view()->GetWebView()->zoomLevel());
@@ -2016,8 +2030,8 @@ TEST_F(RenderViewImplTest, ZoomLimit) {
// It should work even when the zoom limit is temporarily changed in the page.
view()->GetWebView()->zoomLimitsChanged(ZoomFactorToZoomLevel(1.0),
ZoomFactorToZoomLevel(1.0));
- params.url = GURL("data:text/html,max_zoomlimit_test");
- view()->OnSetZoomLevelForLoadingURL(params.url, kMaxZoomLevel);
+ params.core_params.url = GURL("data:text/html,max_zoomlimit_test");
+ view()->OnSetZoomLevelForLoadingURL(params.core_params.url, kMaxZoomLevel);
frame()->OnNavigate(params);
ProcessPendingMessages();
EXPECT_DOUBLE_EQ(kMaxZoomLevel, view()->GetWebView()->zoomLevel());
@@ -2079,15 +2093,16 @@ TEST_F(RenderViewImplTest, NavigateFrame) {
// Navigate the frame only.
FrameMsg_Navigate_Params nav_params;
- nav_params.url = GURL("data:text/html,world");
- nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- nav_params.transition = ui::PAGE_TRANSITION_TYPED;
+ nav_params.core_params.url = GURL("data:text/html,world");
+ nav_params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ nav_params.core_params.transition = ui::PAGE_TRANSITION_TYPED;
nav_params.current_history_list_length = 1;
nav_params.current_history_list_offset = 0;
nav_params.pending_history_list_offset = 1;
nav_params.page_id = -1;
nav_params.frame_to_navigate = "frame";
- nav_params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ nav_params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(nav_params);
FrameLoadWaiter(
RenderFrame::FromWebFrame(frame()->GetWebFrame()->firstChild())).Wait();
@@ -2205,9 +2220,10 @@ TEST_F(SuppressErrorPageTest, MAYBE_Suppresses) {
// but won't complete synchronously.
FrameMsg_Navigate_Params params;
params.page_id = -1;
- params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params.url = GURL("data:text/html,test data");
- params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params.core_params.url = GURL("data:text/html,test data");
+ params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params);
// An error occurred.
@@ -2235,9 +2251,10 @@ TEST_F(SuppressErrorPageTest, MAYBE_DoesNotSuppress) {
// but won't complete synchronously.
FrameMsg_Navigate_Params params;
params.page_id = -1;
- params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- params.url = GURL("data:text/html,test data");
- params.browser_navigation_start = base::TimeTicks::FromInternalValue(1);
+ params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ params.core_params.url = GURL("data:text/html,test data");
+ params.commit_params.browser_navigation_start =
+ base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(params);
// An error occurred.
@@ -2448,12 +2465,12 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) {
// OnNavigate() is called.
base::Time before_navigation = base::Time::Now();
FrameMsg_Navigate_Params early_nav_params;
- early_nav_params.url = GURL("data:text/html,<div>Page</div>");
- early_nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- early_nav_params.transition = ui::PAGE_TRANSITION_TYPED;
+ early_nav_params.core_params.url = GURL("data:text/html,<div>Page</div>");
+ early_nav_params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ early_nav_params.core_params.transition = ui::PAGE_TRANSITION_TYPED;
early_nav_params.page_id = -1;
- early_nav_params.is_post = true;
- early_nav_params.browser_navigation_start =
+ early_nav_params.request_params.is_post = true;
+ early_nav_params.commit_params.browser_navigation_start =
base::TimeTicks::FromInternalValue(1);
frame()->OnNavigate(early_nav_params);
@@ -2467,12 +2484,13 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) {
// days from now is *not* reported as one that starts in the future; as we
// sanitize the override allowing a maximum of ::Now().
FrameMsg_Navigate_Params late_nav_params;
- late_nav_params.url = GURL("data:text/html,<div>Another page</div>");
- late_nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
- late_nav_params.transition = ui::PAGE_TRANSITION_TYPED;
+ late_nav_params.core_params.url =
+ GURL("data:text/html,<div>Another page</div>");
+ late_nav_params.core_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
+ late_nav_params.core_params.transition = ui::PAGE_TRANSITION_TYPED;
late_nav_params.page_id = -1;
- late_nav_params.is_post = true;
- late_nav_params.browser_navigation_start =
+ late_nav_params.request_params.is_post = true;
+ late_nav_params.commit_params.browser_navigation_start =
base::TimeTicks::Now() + base::TimeDelta::FromDays(42);
frame()->OnNavigate(late_nav_params);

Powered by Google App Engine
This is Rietveld 408576698