| 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 |