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 |