Chromium Code Reviews| Index: content/browser/loader/resource_dispatcher_host_impl.cc |
| diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc |
| index fad7d214783f44ff611a9918f0859c664bbd2166..04beff9f1a66f383040c1523bd152bb218626b06 100644 |
| --- a/content/browser/loader/resource_dispatcher_host_impl.cc |
| +++ b/content/browser/loader/resource_dispatcher_host_impl.cc |
| @@ -357,14 +357,17 @@ void LogResourceRequestTimeOnUI( |
| } |
| } |
| -bool IsUsingLoFi(LoFiState lofi_state, |
| - ResourceDispatcherHostDelegate* delegate, |
| - const net::URLRequest& request, |
| - ResourceContext* resource_context, |
| - bool is_main_frame) { |
| - if (lofi_state == LOFI_UNSPECIFIED && delegate && is_main_frame) |
| - return delegate->ShouldEnableLoFiMode(request, resource_context); |
| - return lofi_state == LOFI_ON; |
| +int GetPreviewsState(int previews_state, |
|
nasko
2016/12/08 22:19:32
PreviewsState
megjablon
2016/12/09 20:35:54
Done.
|
| + ResourceDispatcherHostDelegate* delegate, |
| + const net::URLRequest& request, |
| + ResourceContext* resource_context, |
| + bool is_main_frame) { |
| + // previews_state is set to PREVIEWS_OFF when reloading with Lo-Fi disabled. |
| + // A previews_state of zero means that the state has not been set, and the |
| + // browser process should decide whether or not to request Preview types. |
| + if (previews_state == 0 && delegate && is_main_frame) |
| + return delegate->GetPreviewsState(request, resource_context); |
| + return previews_state; |
| } |
| // The following functions simplify code paths where the UI thread notifies the |
| @@ -1548,9 +1551,9 @@ void ResourceDispatcherHostImpl::ContinuePendingBeginRequest( |
| do_not_prompt_for_login, request_data.referrer_policy, |
| request_data.visibility_state, resource_context, report_raw_headers, |
| !is_sync_load, |
| - IsUsingLoFi(request_data.lofi_state, delegate_, *new_request, |
| - resource_context, |
| - request_data.resource_type == RESOURCE_TYPE_MAIN_FRAME), |
| + GetPreviewsState(request_data.previews_state, delegate_, *new_request, |
| + resource_context, |
| + request_data.resource_type == RESOURCE_TYPE_MAIN_FRAME), |
| support_async_revalidation ? request_data.headers : std::string(), |
| request_data.request_body, request_data.initiated_in_secure_context); |
| // Request takes ownership. |
| @@ -1839,6 +1842,7 @@ ResourceRequestInfoImpl* ResourceDispatcherHostImpl::CreateRequestInfo( |
| int child_id, |
| int render_view_route_id, |
| int render_frame_route_id, |
| + int previews_state, |
|
nasko
2016/12/08 22:19:33
PreviewsState
megjablon
2016/12/09 20:35:54
Done.
|
| bool download, |
| ResourceContext* context) { |
| return new ResourceRequestInfoImpl( |
| @@ -1859,12 +1863,12 @@ ResourceRequestInfoImpl* ResourceDispatcherHostImpl::CreateRequestInfo( |
| false, // do_not_prompt_for_login |
| blink::WebReferrerPolicyDefault, blink::WebPageVisibilityStateVisible, |
| context, |
| - false, // report_raw_headers |
| - true, // is_async |
| - false, // is_using_lofi |
| - std::string(), // original_headers |
| - nullptr, // body |
| - false); // initiated_in_secure_context |
| + false, // report_raw_headers |
| + true, // is_async |
| + previews_state, // previews_state |
| + std::string(), // original_headers |
| + nullptr, // body |
| + false); // initiated_in_secure_context |
| } |
| void ResourceDispatcherHostImpl::OnRenderViewHostCreated(int child_id, |
| @@ -2231,9 +2235,9 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest( |
| // same mechanism as the cookie one. |
| blink::WebPageVisibilityStateVisible, resource_context, |
| info.report_raw_headers, |
| - true, // is_async |
| - IsUsingLoFi(info.common_params.lofi_state, delegate_, *new_request, |
| - resource_context, info.is_main_frame), |
| + true, // is_async |
| + GetPreviewsState(info.common_params.previews_state, delegate_, |
| + *new_request, resource_context, info.is_main_frame), |
| // The original_headers field is for stale-while-revalidate but the |
| // feature doesn't work with PlzNavigate, so it's just a placeholder |
| // here. |
| @@ -2402,15 +2406,16 @@ void ResourceDispatcherHostImpl::InitializeURLRequest( |
| int render_process_host_id, |
| int render_view_routing_id, |
| int render_frame_routing_id, |
| + int previews_state, |
|
nasko
2016/12/08 22:19:32
PreviewsState
megjablon
2016/12/09 20:35:54
Done.
|
| ResourceContext* context) { |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| DCHECK(!request->is_pending()); |
| SetReferrerForRequest(request, referrer); |
| - ResourceRequestInfoImpl* info = |
| - CreateRequestInfo(render_process_host_id, render_view_routing_id, |
| - render_frame_routing_id, is_download, context); |
| + ResourceRequestInfoImpl* info = CreateRequestInfo( |
| + render_process_host_id, render_view_routing_id, render_frame_routing_id, |
| + previews_state, is_download, context); |
| // Request takes ownership. |
| info->AssociateWithRequest(request); |
| } |