| 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 "modules/fetch/FetchResponseData.h" | 5 #include "modules/fetch/FetchResponseData.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ScriptState.h" | 7 #include "bindings/core/v8/ScriptState.h" |
| 8 #include "core/dom/DOMArrayBuffer.h" | 8 #include "core/dom/DOMArrayBuffer.h" |
| 9 #include "modules/fetch/BodyStreamBuffer.h" | 9 #include "modules/fetch/BodyStreamBuffer.h" |
| 10 #include "modules/fetch/FetchHeaderList.h" | 10 #include "modules/fetch/FetchHeaderList.h" |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 new_response->status_message_ = status_message_; | 213 new_response->status_message_ = status_message_; |
| 214 new_response->header_list_ = header_list_->Clone(); | 214 new_response->header_list_ = header_list_->Clone(); |
| 215 new_response->mime_type_ = mime_type_; | 215 new_response->mime_type_ = mime_type_; |
| 216 new_response->response_time_ = response_time_; | 216 new_response->response_time_ = response_time_; |
| 217 new_response->cache_storage_cache_name_ = cache_storage_cache_name_; | 217 new_response->cache_storage_cache_name_ = cache_storage_cache_name_; |
| 218 new_response->cors_exposed_header_names_ = cors_exposed_header_names_; | 218 new_response->cors_exposed_header_names_ = cors_exposed_header_names_; |
| 219 | 219 |
| 220 switch (type_) { | 220 switch (type_) { |
| 221 case kBasicType: | 221 case kBasicType: |
| 222 case kCORSType: | 222 case kCORSType: |
| 223 ASSERT(internal_response_); | 223 DCHECK(internal_response_); |
| 224 ASSERT(buffer_ == internal_response_->buffer_); | 224 DCHECK_EQ(buffer_, internal_response_->buffer_); |
| 225 ASSERT(internal_response_->type_ == kDefaultType); | 225 DCHECK_EQ(internal_response_->type_, kDefaultType); |
| 226 new_response->internal_response_ = | 226 new_response->internal_response_ = |
| 227 internal_response_->Clone(script_state); | 227 internal_response_->Clone(script_state); |
| 228 buffer_ = internal_response_->buffer_; | 228 buffer_ = internal_response_->buffer_; |
| 229 new_response->buffer_ = new_response->internal_response_->buffer_; | 229 new_response->buffer_ = new_response->internal_response_->buffer_; |
| 230 break; | 230 break; |
| 231 case kDefaultType: { | 231 case kDefaultType: { |
| 232 ASSERT(!internal_response_); | 232 DCHECK(!internal_response_); |
| 233 if (buffer_) { | 233 if (buffer_) { |
| 234 BodyStreamBuffer* new1 = nullptr; | 234 BodyStreamBuffer* new1 = nullptr; |
| 235 BodyStreamBuffer* new2 = nullptr; | 235 BodyStreamBuffer* new2 = nullptr; |
| 236 buffer_->Tee(&new1, &new2); | 236 buffer_->Tee(&new1, &new2); |
| 237 buffer_ = new1; | 237 buffer_ = new1; |
| 238 new_response->buffer_ = new2; | 238 new_response->buffer_ = new2; |
| 239 } | 239 } |
| 240 break; | 240 break; |
| 241 } | 241 } |
| 242 case kErrorType: | 242 case kErrorType: |
| 243 ASSERT(!internal_response_); | 243 DCHECK(!internal_response_); |
| 244 ASSERT(!buffer_); | 244 DCHECK(!buffer_); |
| 245 break; | 245 break; |
| 246 case kOpaqueType: | 246 case kOpaqueType: |
| 247 case kOpaqueRedirectType: | 247 case kOpaqueRedirectType: |
| 248 ASSERT(internal_response_); | 248 DCHECK(internal_response_); |
| 249 ASSERT(!buffer_); | 249 DCHECK(!buffer_); |
| 250 ASSERT(internal_response_->type_ == kDefaultType); | 250 DCHECK_EQ(internal_response_->type_, kDefaultType); |
| 251 new_response->internal_response_ = | 251 new_response->internal_response_ = |
| 252 internal_response_->Clone(script_state); | 252 internal_response_->Clone(script_state); |
| 253 break; | 253 break; |
| 254 } | 254 } |
| 255 return new_response; | 255 return new_response; |
| 256 } | 256 } |
| 257 | 257 |
| 258 void FetchResponseData::PopulateWebServiceWorkerResponse( | 258 void FetchResponseData::PopulateWebServiceWorkerResponse( |
| 259 WebServiceWorkerResponse& response) { | 259 WebServiceWorkerResponse& response) { |
| 260 if (internal_response_) { | 260 if (internal_response_) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 282 unsigned short status, | 282 unsigned short status, |
| 283 AtomicString status_message) | 283 AtomicString status_message) |
| 284 : type_(type), | 284 : type_(type), |
| 285 status_(status), | 285 status_(status), |
| 286 status_message_(status_message), | 286 status_message_(status_message), |
| 287 header_list_(FetchHeaderList::Create()), | 287 header_list_(FetchHeaderList::Create()), |
| 288 response_time_(0) {} | 288 response_time_(0) {} |
| 289 | 289 |
| 290 void FetchResponseData::ReplaceBodyStreamBuffer(BodyStreamBuffer* buffer) { | 290 void FetchResponseData::ReplaceBodyStreamBuffer(BodyStreamBuffer* buffer) { |
| 291 if (type_ == kBasicType || type_ == kCORSType) { | 291 if (type_ == kBasicType || type_ == kCORSType) { |
| 292 ASSERT(internal_response_); | 292 DCHECK(internal_response_); |
| 293 internal_response_->buffer_ = buffer; | 293 internal_response_->buffer_ = buffer; |
| 294 buffer_ = buffer; | 294 buffer_ = buffer; |
| 295 } else if (type_ == kDefaultType) { | 295 } else if (type_ == kDefaultType) { |
| 296 ASSERT(!internal_response_); | 296 DCHECK(!internal_response_); |
| 297 buffer_ = buffer; | 297 buffer_ = buffer; |
| 298 } | 298 } |
| 299 } | 299 } |
| 300 | 300 |
| 301 DEFINE_TRACE(FetchResponseData) { | 301 DEFINE_TRACE(FetchResponseData) { |
| 302 visitor->Trace(header_list_); | 302 visitor->Trace(header_list_); |
| 303 visitor->Trace(internal_response_); | 303 visitor->Trace(internal_response_); |
| 304 visitor->Trace(buffer_); | 304 visitor->Trace(buffer_); |
| 305 } | 305 } |
| 306 | 306 |
| 307 } // namespace blink | 307 } // namespace blink |
| OLD | NEW |