| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading | 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading |
| 6 | 6 |
| 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| 8 | 8 |
| 9 #include <stddef.h> | 9 #include <stddef.h> |
| 10 | 10 |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 if (pending_frame_host) | 408 if (pending_frame_host) |
| 409 routing_ids->insert(pending_frame_host->GetGlobalFrameRoutingId()); | 409 routing_ids->insert(pending_frame_host->GetGlobalFrameRoutingId()); |
| 410 } | 410 } |
| 411 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, | 411 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
| 412 base::Bind(&NotifyForRouteSetOnIO, frame_callback, | 412 base::Bind(&NotifyForRouteSetOnIO, frame_callback, |
| 413 base::Passed(std::move(routing_ids)))); | 413 base::Passed(std::move(routing_ids)))); |
| 414 } | 414 } |
| 415 | 415 |
| 416 } // namespace | 416 } // namespace |
| 417 | 417 |
| 418 | |
| 419 ResourceDispatcherHostImpl::LoadInfo::LoadInfo() {} | 418 ResourceDispatcherHostImpl::LoadInfo::LoadInfo() {} |
| 420 ResourceDispatcherHostImpl::LoadInfo::LoadInfo(const LoadInfo& other) = default; | 419 ResourceDispatcherHostImpl::LoadInfo::LoadInfo(const LoadInfo& other) = default; |
| 421 ResourceDispatcherHostImpl::LoadInfo::~LoadInfo() {} | 420 ResourceDispatcherHostImpl::LoadInfo::~LoadInfo() {} |
| 422 | 421 |
| 423 ResourceDispatcherHostImpl::HeaderInterceptorInfo::HeaderInterceptorInfo() {} | 422 ResourceDispatcherHostImpl::HeaderInterceptorInfo::HeaderInterceptorInfo() {} |
| 424 | 423 |
| 425 ResourceDispatcherHostImpl::HeaderInterceptorInfo::~HeaderInterceptorInfo() {} | 424 ResourceDispatcherHostImpl::HeaderInterceptorInfo::~HeaderInterceptorInfo() {} |
| 426 | 425 |
| 427 ResourceDispatcherHostImpl::HeaderInterceptorInfo::HeaderInterceptorInfo( | 426 ResourceDispatcherHostImpl::HeaderInterceptorInfo::HeaderInterceptorInfo( |
| 428 const HeaderInterceptorInfo& other) {} | 427 const HeaderInterceptorInfo& other) {} |
| (...skipping 2236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2665 << request_data.url.possibly_invalid_spec(); | 2664 << request_data.url.possibly_invalid_spec(); |
| 2666 return false; | 2665 return false; |
| 2667 } | 2666 } |
| 2668 | 2667 |
| 2669 // Check if the renderer is using an illegal Origin header. If so, kill it. | 2668 // Check if the renderer is using an illegal Origin header. If so, kill it. |
| 2670 std::string origin_string; | 2669 std::string origin_string; |
| 2671 bool has_origin = | 2670 bool has_origin = |
| 2672 headers.GetHeader("Origin", &origin_string) && origin_string != "null"; | 2671 headers.GetHeader("Origin", &origin_string) && origin_string != "null"; |
| 2673 if (has_origin) { | 2672 if (has_origin) { |
| 2674 GURL origin(origin_string); | 2673 GURL origin(origin_string); |
| 2675 if (!policy->CanCommitURL(child_id, origin)) { | 2674 if (!policy->CanSetAsOriginHeader(child_id, origin)) { |
| 2676 VLOG(1) << "Killed renderer for illegal origin: " << origin_string; | 2675 VLOG(1) << "Killed renderer for illegal origin: " << origin_string; |
| 2677 bad_message::ReceivedBadMessage(filter, bad_message::RDH_ILLEGAL_ORIGIN); | 2676 bad_message::ReceivedBadMessage(filter, bad_message::RDH_ILLEGAL_ORIGIN); |
| 2678 return false; | 2677 return false; |
| 2679 } | 2678 } |
| 2680 } | 2679 } |
| 2681 | 2680 |
| 2682 // Check if the renderer is permitted to upload the requested files. | 2681 // Check if the renderer is permitted to upload the requested files. |
| 2683 if (request_data.request_body.get()) { | 2682 if (request_data.request_body.get()) { |
| 2684 const std::vector<ResourceRequestBodyImpl::Element>* uploads = | 2683 const std::vector<ResourceRequestBodyImpl::Element>* uploads = |
| 2685 request_data.request_body->elements(); | 2684 request_data.request_body->elements(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2721 &throttles); | 2720 &throttles); |
| 2722 if (!throttles.empty()) { | 2721 if (!throttles.empty()) { |
| 2723 handler.reset(new ThrottlingResourceHandler(std::move(handler), request, | 2722 handler.reset(new ThrottlingResourceHandler(std::move(handler), request, |
| 2724 std::move(throttles))); | 2723 std::move(throttles))); |
| 2725 } | 2724 } |
| 2726 } | 2725 } |
| 2727 return handler; | 2726 return handler; |
| 2728 } | 2727 } |
| 2729 | 2728 |
| 2730 } // namespace content | 2729 } // namespace content |
| OLD | NEW |