| 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 2234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2245 net::HttpRequestHeaders headers; | 2245 net::HttpRequestHeaders headers; |
| 2246 headers.AddHeadersFromString(info.begin_params.headers); | 2246 headers.AddHeadersFromString(info.begin_params.headers); |
| 2247 new_request->SetExtraRequestHeaders(headers); | 2247 new_request->SetExtraRequestHeaders(headers); |
| 2248 | 2248 |
| 2249 new_request->SetLoadFlags(load_flags); | 2249 new_request->SetLoadFlags(load_flags); |
| 2250 | 2250 |
| 2251 storage::BlobStorageContext* blob_context = GetBlobStorageContext( | 2251 storage::BlobStorageContext* blob_context = GetBlobStorageContext( |
| 2252 GetChromeBlobStorageContextForResourceContext(resource_context)); | 2252 GetChromeBlobStorageContextForResourceContext(resource_context)); |
| 2253 | 2253 |
| 2254 // Resolve elements from request_body and prepare upload data. | 2254 // Resolve elements from request_body and prepare upload data. |
| 2255 if (info.request_body.get()) { | 2255 ResourceRequestBody* body = info.common_params.post_data.get(); |
| 2256 AttachRequestBodyBlobDataHandles( | 2256 if (body) { |
| 2257 info.request_body.get(), | 2257 AttachRequestBodyBlobDataHandles(body, blob_context); |
| 2258 blob_context); | |
| 2259 // TODO(davidben): The FileSystemContext is null here. In the case where | 2258 // TODO(davidben): The FileSystemContext is null here. In the case where |
| 2260 // another renderer requested this navigation, this should be the same | 2259 // another renderer requested this navigation, this should be the same |
| 2261 // FileSystemContext passed into ShouldServiceRequest. | 2260 // FileSystemContext passed into ShouldServiceRequest. |
| 2262 new_request->set_upload(UploadDataStreamBuilder::Build( | 2261 new_request->set_upload(UploadDataStreamBuilder::Build( |
| 2263 info.request_body.get(), | 2262 body, |
| 2264 blob_context, | 2263 blob_context, |
| 2265 nullptr, // file_system_context | 2264 nullptr, // file_system_context |
| 2266 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) | 2265 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) |
| 2267 .get())); | 2266 .get())); |
| 2268 } | 2267 } |
| 2269 | 2268 |
| 2270 request_id_--; | 2269 request_id_--; |
| 2271 | 2270 |
| 2272 // Make extra info and read footer (contains request ID). | 2271 // Make extra info and read footer (contains request ID). |
| 2273 // | 2272 // |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2318 new_request.get(), | 2317 new_request.get(), |
| 2319 blob_context->GetBlobDataFromPublicURL(new_request->url())); | 2318 blob_context->GetBlobDataFromPublicURL(new_request->url())); |
| 2320 } | 2319 } |
| 2321 | 2320 |
| 2322 RequestContextFrameType frame_type = | 2321 RequestContextFrameType frame_type = |
| 2323 info.is_main_frame ? REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL | 2322 info.is_main_frame ? REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL |
| 2324 : REQUEST_CONTEXT_FRAME_TYPE_NESTED; | 2323 : REQUEST_CONTEXT_FRAME_TYPE_NESTED; |
| 2325 ServiceWorkerRequestHandler::InitializeForNavigation( | 2324 ServiceWorkerRequestHandler::InitializeForNavigation( |
| 2326 new_request.get(), service_worker_handle_core, blob_context, | 2325 new_request.get(), service_worker_handle_core, blob_context, |
| 2327 info.begin_params.skip_service_worker, resource_type, | 2326 info.begin_params.skip_service_worker, resource_type, |
| 2328 info.begin_params.request_context_type, frame_type, info.request_body); | 2327 info.begin_params.request_context_type, frame_type, |
| 2328 info.common_params.post_data); |
| 2329 | 2329 |
| 2330 // TODO(davidben): Attach AppCacheInterceptor. | 2330 // TODO(davidben): Attach AppCacheInterceptor. |
| 2331 | 2331 |
| 2332 std::unique_ptr<ResourceHandler> handler( | 2332 std::unique_ptr<ResourceHandler> handler( |
| 2333 new NavigationResourceHandler(new_request.get(), loader, delegate())); | 2333 new NavigationResourceHandler(new_request.get(), loader, delegate())); |
| 2334 | 2334 |
| 2335 // TODO(davidben): Pass in the appropriate appcache_service. Also fix the | 2335 // TODO(davidben): Pass in the appropriate appcache_service. Also fix the |
| 2336 // dependency on child_id/route_id. Those are used by the ResourceScheduler; | 2336 // dependency on child_id/route_id. Those are used by the ResourceScheduler; |
| 2337 // currently it's a no-op. | 2337 // currently it's a no-op. |
| 2338 handler = | 2338 handler = |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2689 ssl.cert_id = GetCertStore()->StoreCert(ssl_info.cert.get(), child_id); | 2689 ssl.cert_id = GetCertStore()->StoreCert(ssl_info.cert.get(), child_id); |
| 2690 response->head.security_info = SerializeSecurityInfo(ssl); | 2690 response->head.security_info = SerializeSecurityInfo(ssl); |
| 2691 } | 2691 } |
| 2692 | 2692 |
| 2693 CertStore* ResourceDispatcherHostImpl::GetCertStore() { | 2693 CertStore* ResourceDispatcherHostImpl::GetCertStore() { |
| 2694 return cert_store_for_testing_ ? cert_store_for_testing_ | 2694 return cert_store_for_testing_ ? cert_store_for_testing_ |
| 2695 : CertStore::GetInstance(); | 2695 : CertStore::GetInstance(); |
| 2696 } | 2696 } |
| 2697 | 2697 |
| 2698 } // namespace content | 2698 } // namespace content |
| OLD | NEW |