| 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 // An implementation of WebURLLoader in terms of ResourceLoaderBridge. | 5 // An implementation of WebURLLoader in terms of ResourceLoaderBridge. |
| 6 | 6 |
| 7 #include "content/child/web_url_loader_impl.h" | 7 #include "content/child/web_url_loader_impl.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <deque> | 10 #include <deque> |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 info->headers = headers; | 161 info->headers = headers; |
| 162 info->mime_type.swap(mime_type); | 162 info->mime_type.swap(mime_type); |
| 163 info->charset.swap(charset); | 163 info->charset.swap(charset); |
| 164 info->security_info.clear(); | 164 info->security_info.clear(); |
| 165 info->content_length = data->length(); | 165 info->content_length = data->length(); |
| 166 info->encoded_data_length = 0; | 166 info->encoded_data_length = 0; |
| 167 | 167 |
| 168 return net::OK; | 168 return net::OK; |
| 169 } | 169 } |
| 170 | 170 |
| 171 #define COMPILE_ASSERT_MATCHING_ENUMS(content_name, blink_name) \ | 171 #define STATIC_ASSERT_MATCHING_ENUMS(content_name, blink_name) \ |
| 172 COMPILE_ASSERT( \ | 172 static_assert( \ |
| 173 static_cast<int>(content_name) == static_cast<int>(blink_name), \ | 173 static_cast<int>(content_name) == static_cast<int>(blink_name), \ |
| 174 mismatching_enums) | 174 "mismatching enums: " #content_name) |
| 175 | 175 |
| 176 COMPILE_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_SAME_ORIGIN, | 176 STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_SAME_ORIGIN, |
| 177 WebURLRequest::FetchRequestModeSameOrigin); | 177 WebURLRequest::FetchRequestModeSameOrigin); |
| 178 COMPILE_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_NO_CORS, | 178 STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_NO_CORS, |
| 179 WebURLRequest::FetchRequestModeNoCORS); | 179 WebURLRequest::FetchRequestModeNoCORS); |
| 180 COMPILE_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_CORS, | 180 STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_CORS, |
| 181 WebURLRequest::FetchRequestModeCORS); | 181 WebURLRequest::FetchRequestModeCORS); |
| 182 COMPILE_ASSERT_MATCHING_ENUMS( | 182 STATIC_ASSERT_MATCHING_ENUMS( |
| 183 FETCH_REQUEST_MODE_CORS_WITH_FORCED_PREFLIGHT, | 183 FETCH_REQUEST_MODE_CORS_WITH_FORCED_PREFLIGHT, |
| 184 WebURLRequest::FetchRequestModeCORSWithForcedPreflight); | 184 WebURLRequest::FetchRequestModeCORSWithForcedPreflight); |
| 185 | 185 |
| 186 FetchRequestMode GetFetchRequestMode(const WebURLRequest& request) { | 186 FetchRequestMode GetFetchRequestMode(const WebURLRequest& request) { |
| 187 return static_cast<FetchRequestMode>(request.fetchRequestMode()); | 187 return static_cast<FetchRequestMode>(request.fetchRequestMode()); |
| 188 } | 188 } |
| 189 | 189 |
| 190 COMPILE_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_OMIT, | 190 STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_OMIT, |
| 191 WebURLRequest::FetchCredentialsModeOmit); | 191 WebURLRequest::FetchCredentialsModeOmit); |
| 192 COMPILE_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_SAME_ORIGIN, | 192 STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_SAME_ORIGIN, |
| 193 WebURLRequest::FetchCredentialsModeSameOrigin); | 193 WebURLRequest::FetchCredentialsModeSameOrigin); |
| 194 COMPILE_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_INCLUDE, | 194 STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_INCLUDE, |
| 195 WebURLRequest::FetchCredentialsModeInclude); | 195 WebURLRequest::FetchCredentialsModeInclude); |
| 196 | 196 |
| 197 FetchCredentialsMode GetFetchCredentialsMode(const WebURLRequest& request) { | 197 FetchCredentialsMode GetFetchCredentialsMode(const WebURLRequest& request) { |
| 198 return static_cast<FetchCredentialsMode>(request.fetchCredentialsMode()); | 198 return static_cast<FetchCredentialsMode>(request.fetchCredentialsMode()); |
| 199 } | 199 } |
| 200 | 200 |
| 201 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_AUXILIARY, | 201 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_AUXILIARY, |
| 202 WebURLRequest::FrameTypeAuxiliary); | 202 WebURLRequest::FrameTypeAuxiliary); |
| 203 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NESTED, | 203 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NESTED, |
| 204 WebURLRequest::FrameTypeNested); | 204 WebURLRequest::FrameTypeNested); |
| 205 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NONE, | 205 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NONE, |
| 206 WebURLRequest::FrameTypeNone); | 206 WebURLRequest::FrameTypeNone); |
| 207 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL, | 207 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL, |
| 208 WebURLRequest::FrameTypeTopLevel); | 208 WebURLRequest::FrameTypeTopLevel); |
| 209 | 209 |
| 210 RequestContextFrameType GetRequestContextFrameType( | 210 RequestContextFrameType GetRequestContextFrameType( |
| 211 const WebURLRequest& request) { | 211 const WebURLRequest& request) { |
| 212 return static_cast<RequestContextFrameType>(request.frameType()); | 212 return static_cast<RequestContextFrameType>(request.frameType()); |
| 213 } | 213 } |
| 214 | 214 |
| 215 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_UNSPECIFIED, | 215 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_UNSPECIFIED, |
| 216 WebURLRequest::RequestContextUnspecified); | 216 WebURLRequest::RequestContextUnspecified); |
| 217 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_AUDIO, | 217 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_AUDIO, |
| 218 WebURLRequest::RequestContextAudio); | 218 WebURLRequest::RequestContextAudio); |
| 219 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_BEACON, | 219 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_BEACON, |
| 220 WebURLRequest::RequestContextBeacon); | 220 WebURLRequest::RequestContextBeacon); |
| 221 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_CSP_REPORT, | 221 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_CSP_REPORT, |
| 222 WebURLRequest::RequestContextCSPReport); | 222 WebURLRequest::RequestContextCSPReport); |
| 223 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_DOWNLOAD, | 223 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_DOWNLOAD, |
| 224 WebURLRequest::RequestContextDownload); | 224 WebURLRequest::RequestContextDownload); |
| 225 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EMBED, | 225 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EMBED, |
| 226 WebURLRequest::RequestContextEmbed); | 226 WebURLRequest::RequestContextEmbed); |
| 227 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EVENT_SOURCE, | 227 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EVENT_SOURCE, |
| 228 WebURLRequest::RequestContextEventSource); | 228 WebURLRequest::RequestContextEventSource); |
| 229 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FAVICON, | 229 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FAVICON, |
| 230 WebURLRequest::RequestContextFavicon); | 230 WebURLRequest::RequestContextFavicon); |
| 231 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FETCH, | 231 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FETCH, |
| 232 WebURLRequest::RequestContextFetch); | 232 WebURLRequest::RequestContextFetch); |
| 233 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FONT, | 233 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FONT, |
| 234 WebURLRequest::RequestContextFont); | 234 WebURLRequest::RequestContextFont); |
| 235 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FORM, | 235 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FORM, |
| 236 WebURLRequest::RequestContextForm); | 236 WebURLRequest::RequestContextForm); |
| 237 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FRAME, | 237 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FRAME, |
| 238 WebURLRequest::RequestContextFrame); | 238 WebURLRequest::RequestContextFrame); |
| 239 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_HYPERLINK, | 239 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_HYPERLINK, |
| 240 WebURLRequest::RequestContextHyperlink); | 240 WebURLRequest::RequestContextHyperlink); |
| 241 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IFRAME, | 241 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IFRAME, |
| 242 WebURLRequest::RequestContextIframe); | 242 WebURLRequest::RequestContextIframe); |
| 243 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE, | 243 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE, |
| 244 WebURLRequest::RequestContextImage); | 244 WebURLRequest::RequestContextImage); |
| 245 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE_SET, | 245 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE_SET, |
| 246 WebURLRequest::RequestContextImageSet); | 246 WebURLRequest::RequestContextImageSet); |
| 247 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMPORT, | 247 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMPORT, |
| 248 WebURLRequest::RequestContextImport); | 248 WebURLRequest::RequestContextImport); |
| 249 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_INTERNAL, | 249 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_INTERNAL, |
| 250 WebURLRequest::RequestContextInternal); | 250 WebURLRequest::RequestContextInternal); |
| 251 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_LOCATION, | 251 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_LOCATION, |
| 252 WebURLRequest::RequestContextLocation); | 252 WebURLRequest::RequestContextLocation); |
| 253 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_MANIFEST, | 253 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_MANIFEST, |
| 254 WebURLRequest::RequestContextManifest); | 254 WebURLRequest::RequestContextManifest); |
| 255 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_OBJECT, | 255 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_OBJECT, |
| 256 WebURLRequest::RequestContextObject); | 256 WebURLRequest::RequestContextObject); |
| 257 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PING, | 257 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PING, |
| 258 WebURLRequest::RequestContextPing); | 258 WebURLRequest::RequestContextPing); |
| 259 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PLUGIN, | 259 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PLUGIN, |
| 260 WebURLRequest::RequestContextPlugin); | 260 WebURLRequest::RequestContextPlugin); |
| 261 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PREFETCH, | 261 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PREFETCH, |
| 262 WebURLRequest::RequestContextPrefetch); | 262 WebURLRequest::RequestContextPrefetch); |
| 263 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SCRIPT, | 263 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SCRIPT, |
| 264 WebURLRequest::RequestContextScript); | 264 WebURLRequest::RequestContextScript); |
| 265 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SERVICE_WORKER, | 265 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SERVICE_WORKER, |
| 266 WebURLRequest::RequestContextServiceWorker); | 266 WebURLRequest::RequestContextServiceWorker); |
| 267 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SHARED_WORKER, | 267 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SHARED_WORKER, |
| 268 WebURLRequest::RequestContextSharedWorker); | 268 WebURLRequest::RequestContextSharedWorker); |
| 269 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SUBRESOURCE, | 269 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SUBRESOURCE, |
| 270 WebURLRequest::RequestContextSubresource); | 270 WebURLRequest::RequestContextSubresource); |
| 271 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_STYLE, | 271 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_STYLE, |
| 272 WebURLRequest::RequestContextStyle); | 272 WebURLRequest::RequestContextStyle); |
| 273 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_TRACK, | 273 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_TRACK, |
| 274 WebURLRequest::RequestContextTrack); | 274 WebURLRequest::RequestContextTrack); |
| 275 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_VIDEO, | 275 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_VIDEO, |
| 276 WebURLRequest::RequestContextVideo); | 276 WebURLRequest::RequestContextVideo); |
| 277 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_WORKER, | 277 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_WORKER, |
| 278 WebURLRequest::RequestContextWorker); | 278 WebURLRequest::RequestContextWorker); |
| 279 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XML_HTTP_REQUEST, | 279 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XML_HTTP_REQUEST, |
| 280 WebURLRequest::RequestContextXMLHttpRequest); | 280 WebURLRequest::RequestContextXMLHttpRequest); |
| 281 COMPILE_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XSLT, | 281 STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XSLT, |
| 282 WebURLRequest::RequestContextXSLT); | 282 WebURLRequest::RequestContextXSLT); |
| 283 | 283 |
| 284 RequestContextType GetRequestContextType(const WebURLRequest& request) { | 284 RequestContextType GetRequestContextType(const WebURLRequest& request) { |
| 285 return static_cast<RequestContextType>(request.requestContext()); | 285 return static_cast<RequestContextType>(request.requestContext()); |
| 286 } | 286 } |
| 287 | 287 |
| 288 } // namespace | 288 } // namespace |
| 289 | 289 |
| 290 // WebURLLoaderImpl::Context -------------------------------------------------- | 290 // WebURLLoaderImpl::Context -------------------------------------------------- |
| 291 | 291 |
| 292 // This inner class exists since the WebURLLoader may be deleted while inside a | 292 // This inner class exists since the WebURLLoader may be deleted while inside a |
| (...skipping 838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1131 int intra_priority_value) { | 1131 int intra_priority_value) { |
| 1132 context_->DidChangePriority(new_priority, intra_priority_value); | 1132 context_->DidChangePriority(new_priority, intra_priority_value); |
| 1133 } | 1133 } |
| 1134 | 1134 |
| 1135 bool WebURLLoaderImpl::attachThreadedDataReceiver( | 1135 bool WebURLLoaderImpl::attachThreadedDataReceiver( |
| 1136 blink::WebThreadedDataReceiver* threaded_data_receiver) { | 1136 blink::WebThreadedDataReceiver* threaded_data_receiver) { |
| 1137 return context_->AttachThreadedDataReceiver(threaded_data_receiver); | 1137 return context_->AttachThreadedDataReceiver(threaded_data_receiver); |
| 1138 } | 1138 } |
| 1139 | 1139 |
| 1140 } // namespace content | 1140 } // namespace content |
| OLD | NEW |