| 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 "content/browser/service_worker/service_worker_url_request_job.h" | 5 #include "content/browser/service_worker/service_worker_url_request_job.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 48 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
| 49 FetchRequestMode request_mode, | 49 FetchRequestMode request_mode, |
| 50 FetchCredentialsMode credentials_mode, | 50 FetchCredentialsMode credentials_mode, |
| 51 RequestContextType request_context_type, | 51 RequestContextType request_context_type, |
| 52 RequestContextFrameType frame_type, | 52 RequestContextFrameType frame_type, |
| 53 scoped_refptr<ResourceRequestBody> body) | 53 scoped_refptr<ResourceRequestBody> body) |
| 54 : net::URLRequestJob(request, network_delegate), | 54 : net::URLRequestJob(request, network_delegate), |
| 55 provider_host_(provider_host), | 55 provider_host_(provider_host), |
| 56 response_type_(NOT_DETERMINED), | 56 response_type_(NOT_DETERMINED), |
| 57 is_started_(false), | 57 is_started_(false), |
| 58 service_worker_response_type_(blink::WebServiceWorkerResponseTypeDefault), |
| 58 blob_storage_context_(blob_storage_context), | 59 blob_storage_context_(blob_storage_context), |
| 59 request_mode_(request_mode), | 60 request_mode_(request_mode), |
| 60 credentials_mode_(credentials_mode), | 61 credentials_mode_(credentials_mode), |
| 61 request_context_type_(request_context_type), | 62 request_context_type_(request_context_type), |
| 62 frame_type_(frame_type), | 63 frame_type_(frame_type), |
| 63 fall_back_required_(false), | 64 fall_back_required_(false), |
| 64 body_(body), | 65 body_(body), |
| 65 weak_factory_(this) { | 66 weak_factory_(this) { |
| 66 } | 67 } |
| 67 | 68 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 return NULL; | 209 return NULL; |
| 209 if (range_response_info_) | 210 if (range_response_info_) |
| 210 return range_response_info_.get(); | 211 return range_response_info_.get(); |
| 211 return http_response_info_.get(); | 212 return http_response_info_.get(); |
| 212 } | 213 } |
| 213 | 214 |
| 214 void ServiceWorkerURLRequestJob::GetExtraResponseInfo( | 215 void ServiceWorkerURLRequestJob::GetExtraResponseInfo( |
| 215 bool* was_fetched_via_service_worker, | 216 bool* was_fetched_via_service_worker, |
| 216 bool* was_fallback_required_by_service_worker, | 217 bool* was_fallback_required_by_service_worker, |
| 217 GURL* original_url_via_service_worker, | 218 GURL* original_url_via_service_worker, |
| 219 blink::WebServiceWorkerResponseType* response_type_via_service_worker, |
| 218 base::TimeTicks* fetch_start_time, | 220 base::TimeTicks* fetch_start_time, |
| 219 base::TimeTicks* fetch_ready_time, | 221 base::TimeTicks* fetch_ready_time, |
| 220 base::TimeTicks* fetch_end_time) const { | 222 base::TimeTicks* fetch_end_time) const { |
| 221 if (response_type_ != FORWARD_TO_SERVICE_WORKER) { | 223 if (response_type_ != FORWARD_TO_SERVICE_WORKER) { |
| 222 *was_fetched_via_service_worker = false; | 224 *was_fetched_via_service_worker = false; |
| 223 *was_fallback_required_by_service_worker = false; | 225 *was_fallback_required_by_service_worker = false; |
| 224 *original_url_via_service_worker = GURL(); | 226 *original_url_via_service_worker = GURL(); |
| 227 *response_type_via_service_worker = |
| 228 blink::WebServiceWorkerResponseTypeDefault; |
| 225 return; | 229 return; |
| 226 } | 230 } |
| 227 *was_fetched_via_service_worker = true; | 231 *was_fetched_via_service_worker = true; |
| 228 *was_fallback_required_by_service_worker = fall_back_required_; | 232 *was_fallback_required_by_service_worker = fall_back_required_; |
| 229 *original_url_via_service_worker = response_url_; | 233 *original_url_via_service_worker = response_url_; |
| 234 *response_type_via_service_worker = service_worker_response_type_; |
| 230 *fetch_start_time = fetch_start_time_; | 235 *fetch_start_time = fetch_start_time_; |
| 231 *fetch_ready_time = fetch_ready_time_; | 236 *fetch_ready_time = fetch_ready_time_; |
| 232 *fetch_end_time = fetch_end_time_; | 237 *fetch_end_time = fetch_end_time_; |
| 233 } | 238 } |
| 234 | 239 |
| 235 | 240 |
| 236 ServiceWorkerURLRequestJob::~ServiceWorkerURLRequestJob() { | 241 ServiceWorkerURLRequestJob::~ServiceWorkerURLRequestJob() { |
| 237 } | 242 } |
| 238 | 243 |
| 239 void ServiceWorkerURLRequestJob::MaybeStartRequest() { | 244 void ServiceWorkerURLRequestJob::MaybeStartRequest() { |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 // The renderer gave us a bad blob UUID. | 447 // The renderer gave us a bad blob UUID. |
| 443 DeliverErrorResponse(); | 448 DeliverErrorResponse(); |
| 444 return; | 449 return; |
| 445 } | 450 } |
| 446 blob_request_ = storage::BlobProtocolHandler::CreateBlobRequest( | 451 blob_request_ = storage::BlobProtocolHandler::CreateBlobRequest( |
| 447 blob_data_handle.Pass(), request()->context(), this); | 452 blob_data_handle.Pass(), request()->context(), this); |
| 448 blob_request_->Start(); | 453 blob_request_->Start(); |
| 449 } | 454 } |
| 450 | 455 |
| 451 response_url_ = response.url; | 456 response_url_ = response.url; |
| 457 service_worker_response_type_ = response.response_type; |
| 452 CreateResponseHeader( | 458 CreateResponseHeader( |
| 453 response.status_code, response.status_text, response.headers); | 459 response.status_code, response.status_text, response.headers); |
| 454 load_timing_info_.receive_headers_end = base::TimeTicks::Now(); | 460 load_timing_info_.receive_headers_end = base::TimeTicks::Now(); |
| 455 if (!blob_request_) | 461 if (!blob_request_) |
| 456 CommitResponseHeader(); | 462 CommitResponseHeader(); |
| 457 } | 463 } |
| 458 | 464 |
| 459 void ServiceWorkerURLRequestJob::CreateResponseHeader( | 465 void ServiceWorkerURLRequestJob::CreateResponseHeader( |
| 460 int status_code, | 466 int status_code, |
| 461 const std::string& status_text, | 467 const std::string& status_text, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 486 | 492 |
| 487 void ServiceWorkerURLRequestJob::DeliverErrorResponse() { | 493 void ServiceWorkerURLRequestJob::DeliverErrorResponse() { |
| 488 // TODO(falken): Print an error to the console of the ServiceWorker and of | 494 // TODO(falken): Print an error to the console of the ServiceWorker and of |
| 489 // the requesting page. | 495 // the requesting page. |
| 490 CreateResponseHeader( | 496 CreateResponseHeader( |
| 491 500, "Service Worker Response Error", ServiceWorkerHeaderMap()); | 497 500, "Service Worker Response Error", ServiceWorkerHeaderMap()); |
| 492 CommitResponseHeader(); | 498 CommitResponseHeader(); |
| 493 } | 499 } |
| 494 | 500 |
| 495 } // namespace content | 501 } // namespace content |
| OLD | NEW |