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 "config.h" | 5 #include "config.h" |
6 #include "Response.h" | 6 #include "Response.h" |
7 | 7 |
8 #include "bindings/core/v8/Dictionary.h" | 8 #include "bindings/core/v8/Dictionary.h" |
9 #include "bindings/core/v8/ExceptionState.h" | 9 #include "bindings/core/v8/ExceptionState.h" |
10 #include "core/fileapi/Blob.h" | 10 #include "core/fileapi/Blob.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 response = FetchResponseData::createNetworkErrorResponse(); | 27 response = FetchResponseData::createNetworkErrorResponse(); |
28 | 28 |
29 response->setURL(webResponse.url()); | 29 response->setURL(webResponse.url()); |
30 response->setStatus(webResponse.status()); | 30 response->setStatus(webResponse.status()); |
31 response->setStatusMessage(webResponse.statusText()); | 31 response->setStatusMessage(webResponse.statusText()); |
32 | 32 |
33 for (HTTPHeaderMap::const_iterator i = webResponse.headers().begin(), end =
webResponse.headers().end(); i != end; ++i) { | 33 for (HTTPHeaderMap::const_iterator i = webResponse.headers().begin(), end =
webResponse.headers().end(); i != end; ++i) { |
34 response->headerList()->append(i->key, i->value); | 34 response->headerList()->append(i->key, i->value); |
35 } | 35 } |
36 | 36 |
| 37 response->setBlobDataHandle(webResponse.blobDataHandle()); |
| 38 |
37 // Filter the response according to |webResponse|'s ResponseType. | 39 // Filter the response according to |webResponse|'s ResponseType. |
38 switch (webResponse.responseType()) { | 40 switch (webResponse.responseType()) { |
39 case WebServiceWorkerResponseTypeBasic: | 41 case WebServiceWorkerResponseTypeBasic: |
40 response = response->createBasicFilteredResponse(); | 42 response = response->createBasicFilteredResponse(); |
41 break; | 43 break; |
42 case WebServiceWorkerResponseTypeCORS: | 44 case WebServiceWorkerResponseTypeCORS: |
43 response = response->createCORSFilteredResponse(); | 45 response = response->createCORSFilteredResponse(); |
44 break; | 46 break; |
45 case WebServiceWorkerResponseTypeOpaque: | 47 case WebServiceWorkerResponseTypeOpaque: |
46 response = response->createOpaqueFilteredResponse(); | 48 response = response->createOpaqueFilteredResponse(); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 | 155 |
154 Response* Response::create(ExecutionContext* context, FetchResponseData* respons
e) | 156 Response* Response::create(ExecutionContext* context, FetchResponseData* respons
e) |
155 { | 157 { |
156 Response* r = new Response(context, response); | 158 Response* r = new Response(context, response); |
157 r->suspendIfNeeded(); | 159 r->suspendIfNeeded(); |
158 return r; | 160 return r; |
159 } | 161 } |
160 | 162 |
161 Response* Response::create(ExecutionContext* context, const WebServiceWorkerResp
onse& webResponse) | 163 Response* Response::create(ExecutionContext* context, const WebServiceWorkerResp
onse& webResponse) |
162 { | 164 { |
163 // FIXME: Handle response body data. | |
164 FetchResponseData* responseData = createFetchResponseDataFromWebResponse(web
Response); | 165 FetchResponseData* responseData = createFetchResponseDataFromWebResponse(web
Response); |
165 Response* r = new Response(context, responseData); | 166 Response* r = new Response(context, responseData); |
166 r->suspendIfNeeded(); | 167 r->suspendIfNeeded(); |
167 return r; | 168 return r; |
168 } | 169 } |
169 | 170 |
170 Response* Response::create(const Response& copyFrom) | 171 Response* Response::create(const Response& copyFrom) |
171 { | 172 { |
172 Response* r = new Response(copyFrom); | 173 Response* r = new Response(copyFrom); |
173 r->suspendIfNeeded(); | 174 r->suspendIfNeeded(); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 } | 264 } |
264 | 265 |
265 void Response::trace(Visitor* visitor) | 266 void Response::trace(Visitor* visitor) |
266 { | 267 { |
267 Body::trace(visitor); | 268 Body::trace(visitor); |
268 visitor->trace(m_response); | 269 visitor->trace(m_response); |
269 visitor->trace(m_headers); | 270 visitor->trace(m_headers); |
270 } | 271 } |
271 | 272 |
272 } // namespace blink | 273 } // namespace blink |
OLD | NEW |