Chromium Code Reviews| 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 <algorithm> | 9 #include <algorithm> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 303 if (!web_contents) | 303 if (!web_contents) |
| 304 return; | 304 return; |
| 305 web_contents->DidGetResourceResponseStart(*details.get()); | 305 web_contents->DidGetResourceResponseStart(*details.get()); |
| 306 } | 306 } |
| 307 | 307 |
| 308 bool IsValidatedSCT( | 308 bool IsValidatedSCT( |
| 309 const net::SignedCertificateTimestampAndStatus& sct_status) { | 309 const net::SignedCertificateTimestampAndStatus& sct_status) { |
| 310 return sct_status.status == net::ct::SCT_STATUS_OK; | 310 return sct_status.status == net::ct::SCT_STATUS_OK; |
| 311 } | 311 } |
| 312 | 312 |
| 313 webkit_blob::BlobStorageContext* GetBlobStorageContext( | |
|
michaeln
2014/05/23 02:23:23
might make this helper take filter_ as input since
falken
2014/05/23 11:15:46
yea that's a better, done
| |
| 314 ChromeBlobStorageContext* context) { | |
| 315 if (!context) | |
| 316 return NULL; | |
| 317 return context->context(); | |
| 318 } | |
| 319 | |
| 313 } // namespace | 320 } // namespace |
| 314 | 321 |
| 315 // static | 322 // static |
| 316 ResourceDispatcherHost* ResourceDispatcherHost::Get() { | 323 ResourceDispatcherHost* ResourceDispatcherHost::Get() { |
| 317 return g_resource_dispatcher_host; | 324 return g_resource_dispatcher_host; |
| 318 } | 325 } |
| 319 | 326 |
| 320 ResourceDispatcherHostImpl::ResourceDispatcherHostImpl() | 327 ResourceDispatcherHostImpl::ResourceDispatcherHostImpl() |
| 321 : save_file_manager_(new SaveFileManager()), | 328 : save_file_manager_(new SaveFileManager()), |
| 322 request_id_(-1), | 329 request_id_(-1), |
| (...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1043 SetReferrerForRequest(new_request.get(), referrer); | 1050 SetReferrerForRequest(new_request.get(), referrer); |
| 1044 | 1051 |
| 1045 net::HttpRequestHeaders headers; | 1052 net::HttpRequestHeaders headers; |
| 1046 headers.AddHeadersFromString(request_data.headers); | 1053 headers.AddHeadersFromString(request_data.headers); |
| 1047 new_request->SetExtraRequestHeaders(headers); | 1054 new_request->SetExtraRequestHeaders(headers); |
| 1048 | 1055 |
| 1049 new_request->SetLoadFlags(load_flags); | 1056 new_request->SetLoadFlags(load_flags); |
| 1050 | 1057 |
| 1051 // Resolve elements from request_body and prepare upload data. | 1058 // Resolve elements from request_body and prepare upload data. |
| 1052 if (request_data.request_body.get()) { | 1059 if (request_data.request_body.get()) { |
| 1053 webkit_blob::BlobStorageContext* blob_context = NULL; | 1060 webkit_blob::BlobStorageContext* blob_context = |
| 1054 if (filter_->blob_storage_context()) | 1061 GetBlobStorageContext(filter_->blob_storage_context()); |
| 1055 blob_context = filter_->blob_storage_context()->context(); | |
| 1056 new_request->set_upload(UploadDataStreamBuilder::Build( | 1062 new_request->set_upload(UploadDataStreamBuilder::Build( |
| 1057 request_data.request_body.get(), | 1063 request_data.request_body.get(), |
| 1058 blob_context, | 1064 blob_context, |
| 1059 filter_->file_system_context(), | 1065 filter_->file_system_context(), |
| 1060 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) | 1066 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) |
| 1061 .get())); | 1067 .get())); |
| 1062 } | 1068 } |
| 1063 | 1069 |
| 1064 bool allow_download = request_data.allow_download && | 1070 bool allow_download = request_data.allow_download && |
| 1065 ResourceType::IsFrame(request_data.resource_type); | 1071 ResourceType::IsFrame(request_data.resource_type); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1097 webkit_blob::BlobProtocolHandler::SetRequestedBlobDataHandle( | 1103 webkit_blob::BlobProtocolHandler::SetRequestedBlobDataHandle( |
| 1098 new_request.get(), | 1104 new_request.get(), |
| 1099 filter_->blob_storage_context()->context()-> | 1105 filter_->blob_storage_context()->context()-> |
| 1100 GetBlobDataFromPublicURL(new_request->url())); | 1106 GetBlobDataFromPublicURL(new_request->url())); |
| 1101 } | 1107 } |
| 1102 | 1108 |
| 1103 // Initialize the service worker handler for the request. | 1109 // Initialize the service worker handler for the request. |
| 1104 ServiceWorkerRequestHandler::InitializeHandler( | 1110 ServiceWorkerRequestHandler::InitializeHandler( |
| 1105 new_request.get(), | 1111 new_request.get(), |
| 1106 filter_->service_worker_context(), | 1112 filter_->service_worker_context(), |
| 1113 GetBlobStorageContext(filter_->blob_storage_context()), | |
| 1107 child_id, | 1114 child_id, |
| 1108 request_data.service_worker_provider_id, | 1115 request_data.service_worker_provider_id, |
| 1109 request_data.resource_type); | 1116 request_data.resource_type); |
| 1110 | 1117 |
| 1111 // Have the appcache associate its extra info with the request. | 1118 // Have the appcache associate its extra info with the request. |
| 1112 AppCacheInterceptor::SetExtraRequestInfo( | 1119 AppCacheInterceptor::SetExtraRequestInfo( |
| 1113 new_request.get(), filter_->appcache_service(), child_id, | 1120 new_request.get(), filter_->appcache_service(), child_id, |
| 1114 request_data.appcache_host_id, request_data.resource_type); | 1121 request_data.appcache_host_id, request_data.resource_type); |
| 1115 | 1122 |
| 1116 scoped_ptr<ResourceHandler> handler( | 1123 scoped_ptr<ResourceHandler> handler( |
| (...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1972 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) | 1979 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) |
| 1973 && !policy->CanReadRawCookies(child_id)) { | 1980 && !policy->CanReadRawCookies(child_id)) { |
| 1974 VLOG(1) << "Denied unauthorized request for raw headers"; | 1981 VLOG(1) << "Denied unauthorized request for raw headers"; |
| 1975 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; | 1982 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; |
| 1976 } | 1983 } |
| 1977 | 1984 |
| 1978 return load_flags; | 1985 return load_flags; |
| 1979 } | 1986 } |
| 1980 | 1987 |
| 1981 } // namespace content | 1988 } // namespace content |
| OLD | NEW |