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 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1131 | 1131 |
1132 if (new_request->url().SchemeIs(url::kBlobScheme)) { | 1132 if (new_request->url().SchemeIs(url::kBlobScheme)) { |
1133 // Hang on to a reference to ensure the blob is not released prior | 1133 // Hang on to a reference to ensure the blob is not released prior |
1134 // to the job being started. | 1134 // to the job being started. |
1135 storage::BlobProtocolHandler::SetRequestedBlobDataHandle( | 1135 storage::BlobProtocolHandler::SetRequestedBlobDataHandle( |
1136 new_request.get(), | 1136 new_request.get(), |
1137 filter_->blob_storage_context()->context()->GetBlobDataFromPublicURL( | 1137 filter_->blob_storage_context()->context()->GetBlobDataFromPublicURL( |
1138 new_request->url())); | 1138 new_request->url())); |
1139 } | 1139 } |
1140 | 1140 |
1141 // Initialize the service worker handler for the request. | 1141 // Initialize the service worker handler for the request. We don't use |
| 1142 // ServiceWorker for synchronous loads to avoid renderer deadlocks. |
1142 ServiceWorkerRequestHandler::InitializeHandler( | 1143 ServiceWorkerRequestHandler::InitializeHandler( |
1143 new_request.get(), | 1144 new_request.get(), |
1144 filter_->service_worker_context(), | 1145 filter_->service_worker_context(), |
1145 blob_context, | 1146 blob_context, |
1146 child_id, | 1147 child_id, |
1147 request_data.service_worker_provider_id, | 1148 request_data.service_worker_provider_id, |
1148 request_data.skip_service_worker, | 1149 request_data.skip_service_worker || is_sync_load, |
1149 request_data.resource_type, | 1150 request_data.resource_type, |
1150 request_data.request_body); | 1151 request_data.request_body); |
1151 | 1152 |
1152 // Have the appcache associate its extra info with the request. | 1153 // Have the appcache associate its extra info with the request. |
1153 AppCacheInterceptor::SetExtraRequestInfo( | 1154 AppCacheInterceptor::SetExtraRequestInfo( |
1154 new_request.get(), filter_->appcache_service(), child_id, | 1155 new_request.get(), filter_->appcache_service(), child_id, |
1155 request_data.appcache_host_id, request_data.resource_type); | 1156 request_data.appcache_host_id, request_data.resource_type); |
1156 | 1157 |
1157 scoped_ptr<ResourceHandler> handler( | 1158 scoped_ptr<ResourceHandler> handler( |
1158 CreateResourceHandler( | 1159 CreateResourceHandler( |
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2049 | 2050 |
2050 // Add a flag to selectively bypass the data reduction proxy if the resource | 2051 // Add a flag to selectively bypass the data reduction proxy if the resource |
2051 // type is not an image. | 2052 // type is not an image. |
2052 if (request_data.resource_type != RESOURCE_TYPE_IMAGE) | 2053 if (request_data.resource_type != RESOURCE_TYPE_IMAGE) |
2053 load_flags |= net::LOAD_BYPASS_DATA_REDUCTION_PROXY; | 2054 load_flags |= net::LOAD_BYPASS_DATA_REDUCTION_PROXY; |
2054 | 2055 |
2055 return load_flags; | 2056 return load_flags; |
2056 } | 2057 } |
2057 | 2058 |
2058 } // namespace content | 2059 } // namespace content |
OLD | NEW |