| 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 "modules/fetch/FetchResponseData.h" | 6 #include "modules/fetch/FetchResponseData.h" |
| 7 | 7 |
| 8 #include "core/dom/DOMArrayBuffer.h" | 8 #include "core/dom/DOMArrayBuffer.h" |
| 9 #include "core/fetch/CrossOriginAccessControl.h" | 9 #include "core/fetch/CrossOriginAccessControl.h" |
| 10 #include "modules/fetch/BodyStreamBuffer.h" | 10 #include "modules/fetch/BodyStreamBuffer.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 break; | 29 break; |
| 30 case FetchResponseData::DefaultType: | 30 case FetchResponseData::DefaultType: |
| 31 webType = WebServiceWorkerResponseTypeDefault; | 31 webType = WebServiceWorkerResponseTypeDefault; |
| 32 break; | 32 break; |
| 33 case FetchResponseData::ErrorType: | 33 case FetchResponseData::ErrorType: |
| 34 webType = WebServiceWorkerResponseTypeError; | 34 webType = WebServiceWorkerResponseTypeError; |
| 35 break; | 35 break; |
| 36 case FetchResponseData::OpaqueType: | 36 case FetchResponseData::OpaqueType: |
| 37 webType = WebServiceWorkerResponseTypeOpaque; | 37 webType = WebServiceWorkerResponseTypeOpaque; |
| 38 break; | 38 break; |
| 39 case FetchResponseData::OpaqueRedirectType: |
| 40 webType = WebServiceWorkerResponseTypeOpaqueRedirect; |
| 41 break; |
| 39 } | 42 } |
| 40 return webType; | 43 return webType; |
| 41 } | 44 } |
| 42 | 45 |
| 43 } // namespace | 46 } // namespace |
| 44 | 47 |
| 45 FetchResponseData* FetchResponseData::create() | 48 FetchResponseData* FetchResponseData::create() |
| 46 { | 49 { |
| 47 // "Unless stated otherwise, a response's url is null, status is 200, status | 50 // "Unless stated otherwise, a response's url is null, status is 200, status |
| 48 // message is `OK`, header list is an empty header list, and body is null." | 51 // message is `OK`, header list is an empty header list, and body is null." |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 FetchResponseData* FetchResponseData::createOpaqueFilteredResponse() | 116 FetchResponseData* FetchResponseData::createOpaqueFilteredResponse() |
| 114 { | 117 { |
| 115 // "An opaque filtered response is a filtered response whose type is | 118 // "An opaque filtered response is a filtered response whose type is |
| 116 // |opaque|, status is 0, status message is the empty byte sequence, header | 119 // |opaque|, status is 0, status message is the empty byte sequence, header |
| 117 // list is an empty list, and body is null." | 120 // list is an empty list, and body is null." |
| 118 FetchResponseData* response = new FetchResponseData(OpaqueType, 0, ""); | 121 FetchResponseData* response = new FetchResponseData(OpaqueType, 0, ""); |
| 119 response->m_internalResponse = this; | 122 response->m_internalResponse = this; |
| 120 return response; | 123 return response; |
| 121 } | 124 } |
| 122 | 125 |
| 126 FetchResponseData* FetchResponseData::createOpaqueRedirectFilteredResponse() |
| 127 { |
| 128 // "An opaque-redirect filtered response is a filtered response whose type |
| 129 // is |opaqueredirect|, status is 0, status message is the empty byte |
| 130 // sequence, header list is the empty list, body is null, and cache state is |
| 131 // |none|. |
| 132 FetchResponseData* response = new FetchResponseData(OpaqueRedirectType, 0, "
"); |
| 133 response->m_internalResponse = this; |
| 134 return response; |
| 135 } |
| 136 |
| 123 String FetchResponseData::mimeType() const | 137 String FetchResponseData::mimeType() const |
| 124 { | 138 { |
| 125 return m_mimeType; | 139 return m_mimeType; |
| 126 } | 140 } |
| 127 | 141 |
| 128 BodyStreamBuffer* FetchResponseData::internalBuffer() const | 142 BodyStreamBuffer* FetchResponseData::internalBuffer() const |
| 129 { | 143 { |
| 130 if (m_internalResponse) { | 144 if (m_internalResponse) { |
| 131 return m_internalResponse->m_buffer; | 145 return m_internalResponse->m_buffer; |
| 132 } | 146 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 } else { | 190 } else { |
| 177 m_buffer = new BodyStreamBuffer; | 191 m_buffer = new BodyStreamBuffer; |
| 178 } | 192 } |
| 179 break; | 193 break; |
| 180 } | 194 } |
| 181 case ErrorType: | 195 case ErrorType: |
| 182 ASSERT(!m_internalResponse); | 196 ASSERT(!m_internalResponse); |
| 183 ASSERT(!m_buffer->hasBody()); | 197 ASSERT(!m_buffer->hasBody()); |
| 184 break; | 198 break; |
| 185 case OpaqueType: | 199 case OpaqueType: |
| 200 case OpaqueRedirectType: |
| 186 ASSERT(m_internalResponse); | 201 ASSERT(m_internalResponse); |
| 187 ASSERT(!m_buffer->hasBody()); | 202 ASSERT(!m_buffer->hasBody()); |
| 188 ASSERT(m_internalResponse->m_type == DefaultType); | 203 ASSERT(m_internalResponse->m_type == DefaultType); |
| 189 newResponse->m_internalResponse = m_internalResponse->clone(executionCon
text); | 204 newResponse->m_internalResponse = m_internalResponse->clone(executionCon
text); |
| 190 break; | 205 break; |
| 191 } | 206 } |
| 192 return newResponse; | 207 return newResponse; |
| 193 } | 208 } |
| 194 | 209 |
| 195 void FetchResponseData::populateWebServiceWorkerResponse(WebServiceWorkerRespons
e& response) | 210 void FetchResponseData::populateWebServiceWorkerResponse(WebServiceWorkerRespons
e& response) |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 } | 247 } |
| 233 | 248 |
| 234 DEFINE_TRACE(FetchResponseData) | 249 DEFINE_TRACE(FetchResponseData) |
| 235 { | 250 { |
| 236 visitor->trace(m_headerList); | 251 visitor->trace(m_headerList); |
| 237 visitor->trace(m_internalResponse); | 252 visitor->trace(m_internalResponse); |
| 238 visitor->trace(m_buffer); | 253 visitor->trace(m_buffer); |
| 239 } | 254 } |
| 240 | 255 |
| 241 } // namespace blink | 256 } // namespace blink |
| OLD | NEW |