OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "content/child/web_url_loader_impl.h" | 5 #include "content/child/web_url_loader_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 info->headers = headers; | 158 info->headers = headers; |
159 info->mime_type.swap(mime_type); | 159 info->mime_type.swap(mime_type); |
160 info->charset.swap(charset); | 160 info->charset.swap(charset); |
161 info->security_info.clear(); | 161 info->security_info.clear(); |
162 info->content_length = data->length(); | 162 info->content_length = data->length(); |
163 info->encoded_data_length = 0; | 163 info->encoded_data_length = 0; |
164 | 164 |
165 return net::OK; | 165 return net::OK; |
166 } | 166 } |
167 | 167 |
168 #define STATIC_ASSERT_MATCHING_ENUMS(content_name, blink_name) \ | |
169 static_assert( \ | |
170 static_cast<int>(content_name) == static_cast<int>(blink_name), \ | |
171 "mismatching enums: " #content_name) | |
172 | |
173 STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_SAME_ORIGIN, | |
174 WebURLRequest::FetchRequestModeSameOrigin); | |
175 STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_NO_CORS, | |
176 WebURLRequest::FetchRequestModeNoCORS); | |
177 STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_CORS, | |
178 WebURLRequest::FetchRequestModeCORS); | |
179 STATIC_ASSERT_MATCHING_ENUMS( | |
180 FETCH_REQUEST_MODE_CORS_WITH_FORCED_PREFLIGHT, | |
181 WebURLRequest::FetchRequestModeCORSWithForcedPreflight); | |
182 | |
183 FetchRequestMode GetFetchRequestMode(const WebURLRequest& request) { | |
184 return static_cast<FetchRequestMode>(request.fetchRequestMode()); | |
185 } | |
186 | |
187 STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_OMIT, | |
188 WebURLRequest::FetchCredentialsModeOmit); | |
189 STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_SAME_ORIGIN, | |
190 WebURLRequest::FetchCredentialsModeSameOrigin); | |
191 STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_INCLUDE, | |
192 WebURLRequest::FetchCredentialsModeInclude); | |
193 | |
194 FetchCredentialsMode GetFetchCredentialsMode(const WebURLRequest& request) { | |
195 return static_cast<FetchCredentialsMode>(request.fetchCredentialsMode()); | |
196 } | |
197 | |
198 STATIC_ASSERT_MATCHING_ENUMS(FetchRedirectMode::FOLLOW_MODE, | |
199 WebURLRequest::FetchRedirectModeFollow); | |
200 STATIC_ASSERT_MATCHING_ENUMS(FetchRedirectMode::ERROR_MODE, | |
201 WebURLRequest::FetchRedirectModeError); | |
202 STATIC_ASSERT_MATCHING_ENUMS(FetchRedirectMode::MANUAL_MODE, | |
203 WebURLRequest::FetchRedirectModeManual); | |
204 | |
205 FetchRedirectMode GetFetchRedirectMode(const WebURLRequest& request) { | |
206 return static_cast<FetchRedirectMode>(request.fetchRedirectMode()); | |
207 } | |
208 | |
209 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_AUXILIARY, | |
210 WebURLRequest::FrameTypeAuxiliary); | |
211 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NESTED, | |
212 WebURLRequest::FrameTypeNested); | |
213 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NONE, | |
214 WebURLRequest::FrameTypeNone); | |
215 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL, | |
216 WebURLRequest::FrameTypeTopLevel); | |
217 | |
218 RequestContextFrameType GetRequestContextFrameType( | |
219 const WebURLRequest& request) { | |
220 return static_cast<RequestContextFrameType>(request.frameType()); | |
221 } | |
222 | |
223 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_UNSPECIFIED, | |
224 WebURLRequest::RequestContextUnspecified); | |
225 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_AUDIO, | |
226 WebURLRequest::RequestContextAudio); | |
227 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_BEACON, | |
228 WebURLRequest::RequestContextBeacon); | |
229 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_CSP_REPORT, | |
230 WebURLRequest::RequestContextCSPReport); | |
231 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_DOWNLOAD, | |
232 WebURLRequest::RequestContextDownload); | |
233 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EMBED, | |
234 WebURLRequest::RequestContextEmbed); | |
235 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EVENT_SOURCE, | |
236 WebURLRequest::RequestContextEventSource); | |
237 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FAVICON, | |
238 WebURLRequest::RequestContextFavicon); | |
239 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FETCH, | |
240 WebURLRequest::RequestContextFetch); | |
241 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FONT, | |
242 WebURLRequest::RequestContextFont); | |
243 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FORM, | |
244 WebURLRequest::RequestContextForm); | |
245 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FRAME, | |
246 WebURLRequest::RequestContextFrame); | |
247 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_HYPERLINK, | |
248 WebURLRequest::RequestContextHyperlink); | |
249 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IFRAME, | |
250 WebURLRequest::RequestContextIframe); | |
251 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE, | |
252 WebURLRequest::RequestContextImage); | |
253 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE_SET, | |
254 WebURLRequest::RequestContextImageSet); | |
255 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMPORT, | |
256 WebURLRequest::RequestContextImport); | |
257 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_INTERNAL, | |
258 WebURLRequest::RequestContextInternal); | |
259 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_LOCATION, | |
260 WebURLRequest::RequestContextLocation); | |
261 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_MANIFEST, | |
262 WebURLRequest::RequestContextManifest); | |
263 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_OBJECT, | |
264 WebURLRequest::RequestContextObject); | |
265 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PING, | |
266 WebURLRequest::RequestContextPing); | |
267 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PLUGIN, | |
268 WebURLRequest::RequestContextPlugin); | |
269 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PREFETCH, | |
270 WebURLRequest::RequestContextPrefetch); | |
271 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SCRIPT, | |
272 WebURLRequest::RequestContextScript); | |
273 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SERVICE_WORKER, | |
274 WebURLRequest::RequestContextServiceWorker); | |
275 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SHARED_WORKER, | |
276 WebURLRequest::RequestContextSharedWorker); | |
277 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SUBRESOURCE, | |
278 WebURLRequest::RequestContextSubresource); | |
279 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_STYLE, | |
280 WebURLRequest::RequestContextStyle); | |
281 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_TRACK, | |
282 WebURLRequest::RequestContextTrack); | |
283 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_VIDEO, | |
284 WebURLRequest::RequestContextVideo); | |
285 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_WORKER, | |
286 WebURLRequest::RequestContextWorker); | |
287 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XML_HTTP_REQUEST, | |
288 WebURLRequest::RequestContextXMLHttpRequest); | |
289 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XSLT, | |
290 WebURLRequest::RequestContextXSLT); | |
291 | |
292 RequestContextType GetRequestContextType(const WebURLRequest& request) { | |
293 return static_cast<RequestContextType>(request.requestContext()); | |
294 } | |
295 | |
296 void SetSecurityStyleAndDetails(const GURL& url, | 168 void SetSecurityStyleAndDetails(const GURL& url, |
297 const std::string& security_info, | 169 const std::string& security_info, |
298 WebURLResponse* response, | 170 WebURLResponse* response, |
299 bool report_security_info) { | 171 bool report_security_info) { |
300 if (!report_security_info) { | 172 if (!report_security_info) { |
301 response->setSecurityStyle(WebURLResponse::SecurityStyleUnknown); | 173 response->setSecurityStyle(WebURLResponse::SecurityStyleUnknown); |
302 return; | 174 return; |
303 } | 175 } |
304 if (!url.SchemeIsCryptographic()) { | 176 if (!url.SchemeIsCryptographic()) { |
305 response->setSecurityStyle(WebURLResponse::SecurityStyleUnauthenticated); | 177 response->setSecurityStyle(WebURLResponse::SecurityStyleUnauthenticated); |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 request_info.requestor_pid = request.requestorProcessID(); | 464 request_info.requestor_pid = request.requestorProcessID(); |
593 request_info.request_type = WebURLRequestToResourceType(request); | 465 request_info.request_type = WebURLRequestToResourceType(request); |
594 request_info.priority = | 466 request_info.priority = |
595 ConvertWebKitPriorityToNetPriority(request.priority()); | 467 ConvertWebKitPriorityToNetPriority(request.priority()); |
596 request_info.appcache_host_id = request.appCacheHostID(); | 468 request_info.appcache_host_id = request.appCacheHostID(); |
597 request_info.routing_id = request.requestorID(); | 469 request_info.routing_id = request.requestorID(); |
598 request_info.download_to_file = request.downloadToFile(); | 470 request_info.download_to_file = request.downloadToFile(); |
599 request_info.has_user_gesture = request.hasUserGesture(); | 471 request_info.has_user_gesture = request.hasUserGesture(); |
600 request_info.skip_service_worker = request.skipServiceWorker(); | 472 request_info.skip_service_worker = request.skipServiceWorker(); |
601 request_info.should_reset_appcache = request.shouldResetAppCache(); | 473 request_info.should_reset_appcache = request.shouldResetAppCache(); |
602 request_info.fetch_request_mode = GetFetchRequestMode(request); | 474 request_info.fetch_request_mode = |
603 request_info.fetch_credentials_mode = GetFetchCredentialsMode(request); | 475 GetFetchRequestModeForWebURLRequest(request); |
604 request_info.fetch_redirect_mode = GetFetchRedirectMode(request); | 476 request_info.fetch_credentials_mode = |
605 request_info.fetch_request_context_type = GetRequestContextType(request); | 477 GetFetchCredentialsModeForWebURLRequest(request); |
606 request_info.fetch_frame_type = GetRequestContextFrameType(request); | 478 request_info.fetch_redirect_mode = |
| 479 GetFetchRedirectModeForWebURLRequest(request); |
| 480 request_info.fetch_request_context_type = |
| 481 GetRequestContextTypeForWebURLRequest(request); |
| 482 request_info.fetch_frame_type = |
| 483 GetRequestContextFrameTypeForWebURLRequest(request); |
607 request_info.extra_data = request.extraData(); | 484 request_info.extra_data = request.extraData(); |
608 request_info.report_raw_headers = request.reportRawHeaders(); | 485 request_info.report_raw_headers = request.reportRawHeaders(); |
609 | 486 |
610 scoped_refptr<ResourceRequestBody> request_body = | 487 scoped_refptr<ResourceRequestBody> request_body = |
611 GetRequestBodyForWebURLRequest(request).get(); | 488 GetRequestBodyForWebURLRequest(request).get(); |
612 | 489 |
613 if (sync_load_response) { | 490 if (sync_load_response) { |
614 resource_dispatcher_->StartSync( | 491 resource_dispatcher_->StartSync( |
615 request_info, request_body.get(), sync_load_response); | 492 request_info, request_body.get(), sync_load_response); |
616 return; | 493 return; |
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1164 int intra_priority_value) { | 1041 int intra_priority_value) { |
1165 context_->DidChangePriority(new_priority, intra_priority_value); | 1042 context_->DidChangePriority(new_priority, intra_priority_value); |
1166 } | 1043 } |
1167 | 1044 |
1168 bool WebURLLoaderImpl::attachThreadedDataReceiver( | 1045 bool WebURLLoaderImpl::attachThreadedDataReceiver( |
1169 blink::WebThreadedDataReceiver* threaded_data_receiver) { | 1046 blink::WebThreadedDataReceiver* threaded_data_receiver) { |
1170 return context_->AttachThreadedDataReceiver(threaded_data_receiver); | 1047 return context_->AttachThreadedDataReceiver(threaded_data_receiver); |
1171 } | 1048 } |
1172 | 1049 |
1173 } // namespace content | 1050 } // namespace content |
OLD | NEW |