| Index: content/renderer/render_view_browsertest.cc
|
| diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
|
| index 47a4ef6c7c567d4f3d640c5a936f42e8d53bebf0..938e73ee8260f8607f8a89810485fd82ca239e45 100644
|
| --- a/content/renderer/render_view_browsertest.cc
|
| +++ b/content/renderer/render_view_browsertest.cc
|
| @@ -1911,12 +1911,11 @@ TEST_F(RenderViewImplTest, NavigateSubframe) {
|
| common_params.url = GURL("data:text/html,world");
|
| common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
|
| common_params.transition = ui::PAGE_TRANSITION_TYPED;
|
| + common_params.navigation_start = base::TimeTicks::FromInternalValue(1);
|
| request_params.current_history_list_length = 1;
|
| request_params.current_history_list_offset = 0;
|
| request_params.pending_history_list_offset = 1;
|
| request_params.page_id = -1;
|
| - request_params.browser_navigation_start =
|
| - base::TimeTicks::FromInternalValue(1);
|
|
|
| TestRenderFrame* subframe =
|
| static_cast<TestRenderFrame*>(RenderFrameImpl::FromWebFrame(
|
| @@ -2277,9 +2276,8 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) {
|
| early_common_params.url = GURL("data:text/html,<div>Page</div>");
|
| early_common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
|
| early_common_params.transition = ui::PAGE_TRANSITION_TYPED;
|
| + early_common_params.navigation_start = base::TimeTicks::FromInternalValue(1);
|
| early_start_params.is_post = true;
|
| - early_request_params.browser_navigation_start =
|
| - base::TimeTicks::FromInternalValue(1);
|
|
|
| frame()->Navigate(early_common_params, early_start_params,
|
| early_request_params);
|
| @@ -2298,9 +2296,9 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) {
|
| late_common_params.url = GURL("data:text/html,<div>Another page</div>");
|
| late_common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
|
| late_common_params.transition = ui::PAGE_TRANSITION_TYPED;
|
| - late_start_params.is_post = true;
|
| - late_request_params.browser_navigation_start =
|
| + late_common_params.navigation_start =
|
| base::TimeTicks::Now() + base::TimeDelta::FromDays(42);
|
| + late_start_params.is_post = true;
|
|
|
| frame()->Navigate(late_common_params, late_start_params, late_request_params);
|
| ProcessPendingMessages();
|
| @@ -2312,6 +2310,36 @@ TEST_F(RenderViewImplTest, NavigationStartOverride) {
|
| EXPECT_LE(late_nav_reported_start, after_navigation);
|
| }
|
|
|
| +TEST_F(RenderViewImplTest, BrowserNavigationStartSuccessfullyTransmitted) {
|
| + CommonNavigationParams common_params;
|
| + StartNavigationParams start_params;
|
| + RequestNavigationParams request_params;
|
| + common_params.url = GURL("data:text/html,<div>Page</div>");
|
| + common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
|
| + common_params.transition = ui::PAGE_TRANSITION_TYPED;
|
| + start_params.is_post = true;
|
| +
|
| + // Data munching to simulate what we do in blink: convert navigation_start to
|
| + // a double for DocumentLoadTiming, then back to a TimeTicks to send back to
|
| + // the browser in FrameHostMsg_DidStartProvisionalLoadForFrame.
|
| + double navigation_start_seconds =
|
| + (common_params.navigation_start - base::TimeTicks()).InSecondsF();
|
| + base::TimeTicks adjusted_navigation_start =
|
| + base::TimeTicks::FromInternalValue(navigation_start_seconds *
|
| + base::Time::kMicrosecondsPerSecond);
|
| +
|
| + frame()->Navigate(common_params, start_params, request_params);
|
| + ProcessPendingMessages();
|
| +
|
| + const IPC::Message* frame_navigate_msg =
|
| + render_thread_->sink().GetUniqueMessageMatching(
|
| + FrameHostMsg_DidStartProvisionalLoadForFrame::ID);
|
| + FrameHostMsg_DidStartProvisionalLoadForFrame::Param host_nav_params;
|
| + FrameHostMsg_DidStartProvisionalLoadForFrame::Read(frame_navigate_msg,
|
| + &host_nav_params);
|
| + EXPECT_EQ(base::get<1>(host_nav_params), adjusted_navigation_start);
|
| +}
|
| +
|
| TEST_F(RenderViewImplTest, PreferredSizeZoomed) {
|
| LoadHTML("<body style='margin:0;'><div style='display:inline-block; "
|
| "width:400px; height:400px;'/></body>");
|
|
|