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 d70afa71e4951628f7a50d32a6a40b7f70dcaad2..9e3760be55c0ac1969cf04e75b78cefe23638d51 100644 |
| --- a/content/browser/loader/resource_dispatcher_host_impl.cc |
| +++ b/content/browser/loader/resource_dispatcher_host_impl.cc |
| @@ -1067,7 +1067,7 @@ void ResourceDispatcherHostImpl::OnRequestResourceInternal( |
| const ResourceRequest& request_data, |
| mojom::URLLoaderAssociatedRequest mojo_request, |
| mojom::URLLoaderClientAssociatedPtr url_loader_client) { |
| - DCHECK(requester_info->IsRenderer()); |
| + DCHECK(requester_info->IsRenderer() || requester_info->IsNavigationPreload()); |
| // TODO(pkasting): Remove ScopedTracker below once crbug.com/477117 is fixed. |
| tracked_objects::ScopedTracker tracking_profile( |
| FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| @@ -1273,11 +1273,12 @@ void ResourceDispatcherHostImpl::BeginRequest( |
| int route_id, |
| mojom::URLLoaderAssociatedRequest mojo_request, |
| mojom::URLLoaderClientAssociatedPtr url_loader_client) { |
| - DCHECK(requester_info->IsRenderer()); |
| + DCHECK(requester_info->IsRenderer() || requester_info->IsNavigationPreload()); |
| int child_id = requester_info->child_id(); |
| // Reject request id that's currently in use. |
| if (IsRequestIDInUse(GlobalRequestID(child_id, request_id))) { |
| + DCHECK(requester_info->IsRenderer()); |
|
mmenke
2016/12/01 15:26:11
Think this is worth an explanation (Preloads have
horo
2016/12/02 03:41:52
Done.
|
| bad_message::ReceivedBadMessage(requester_info->filter(), |
| bad_message::RDH_INVALID_REQUEST_ID); |
| return; |
| @@ -1289,6 +1290,7 @@ void ResourceDispatcherHostImpl::BeginRequest( |
| IsResourceTypeFrame(request_data.resource_type); |
| if (is_navigation_stream_request && |
| !request_data.resource_body_stream_url.SchemeIs(url::kBlobScheme)) { |
| + DCHECK(requester_info->IsRenderer()); |
|
mmenke
2016/12/01 15:26:11
Explanation? This isn't obvious.
horo
2016/12/02 03:41:52
Done.
|
| bad_message::ReceivedBadMessage(requester_info->filter(), |
| bad_message::RDH_INVALID_URL); |
| return; |
| @@ -1297,6 +1299,7 @@ void ResourceDispatcherHostImpl::BeginRequest( |
| // Reject invalid priority. |
| if (request_data.priority < net::MINIMUM_PRIORITY || |
| request_data.priority > net::MAXIMUM_PRIORITY) { |
| + DCHECK(requester_info->IsRenderer()); |
| bad_message::ReceivedBadMessage(requester_info->filter(), |
| bad_message::RDH_INVALID_PRIORITY); |
| return; |
| @@ -1378,8 +1381,9 @@ void ResourceDispatcherHostImpl::ContinuePendingBeginRequest( |
| mojom::URLLoaderClientAssociatedPtr url_loader_client, |
| bool continue_request, |
| int error_code) { |
| - DCHECK(requester_info->IsRenderer()); |
| + DCHECK(requester_info->IsRenderer() || requester_info->IsNavigationPreload()); |
| if (!continue_request) { |
| + DCHECK(requester_info->IsRenderer()); |
|
mmenke
2016/12/01 15:26:11
I don't think this is right? We call out to "regi
mmenke
2016/12/01 15:26:51
Why they couldn't, rather
horo
2016/12/02 03:41:52
Ah, yes. This could be a navigation preload reques
|
| // TODO(ananta): Find a way to specify the right error code here. Passing |
| // in a non-content error code is not safe. |
| bad_message::ReceivedBadMessage(requester_info->filter(), |
| @@ -1613,7 +1617,7 @@ ResourceDispatcherHostImpl::CreateResourceHandler( |
| ResourceContext* resource_context, |
| mojom::URLLoaderAssociatedRequest mojo_request, |
| mojom::URLLoaderClientAssociatedPtr url_loader_client) { |
| - DCHECK(requester_info->IsRenderer()); |
| + DCHECK(requester_info->IsRenderer() || requester_info->IsNavigationPreload()); |
| // TODO(pkasting): Remove ScopedTracker below once crbug.com/456331 is fixed. |
| tracked_objects::ScopedTracker tracking_profile( |
| FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| @@ -1623,6 +1627,7 @@ ResourceDispatcherHostImpl::CreateResourceHandler( |
| if (sync_result_handler) { |
| // download_to_file is not supported for synchronous requests. |
| if (request_data.download_to_file) { |
| + DCHECK(requester_info->IsRenderer()); |
| bad_message::ReceivedBadMessage(requester_info->filter(), |
| bad_message::RDH_BAD_DOWNLOAD); |
| return std::unique_ptr<ResourceHandler>(); |