| 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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 if (range_response_info_) | 289 if (range_response_info_) |
| 290 return range_response_info_.get(); | 290 return range_response_info_.get(); |
| 291 return http_response_info_.get(); | 291 return http_response_info_.get(); |
| 292 } | 292 } |
| 293 | 293 |
| 294 void ServiceWorkerURLRequestJob::GetExtraResponseInfo( | 294 void ServiceWorkerURLRequestJob::GetExtraResponseInfo( |
| 295 bool* was_fetched_via_service_worker, | 295 bool* was_fetched_via_service_worker, |
| 296 bool* was_fallback_required_by_service_worker, | 296 bool* was_fallback_required_by_service_worker, |
| 297 GURL* original_url_via_service_worker, | 297 GURL* original_url_via_service_worker, |
| 298 blink::WebServiceWorkerResponseType* response_type_via_service_worker, | 298 blink::WebServiceWorkerResponseType* response_type_via_service_worker, |
| 299 base::TimeTicks* worker_start_time) const { | 299 base::TimeTicks* worker_start_time, |
| 300 base::TimeTicks* worker_ready_time) const { |
| 300 if (response_type_ != FORWARD_TO_SERVICE_WORKER) { | 301 if (response_type_ != FORWARD_TO_SERVICE_WORKER) { |
| 301 *was_fetched_via_service_worker = false; | 302 *was_fetched_via_service_worker = false; |
| 302 *was_fallback_required_by_service_worker = false; | 303 *was_fallback_required_by_service_worker = false; |
| 303 *original_url_via_service_worker = GURL(); | 304 *original_url_via_service_worker = GURL(); |
| 304 *response_type_via_service_worker = | 305 *response_type_via_service_worker = |
| 305 blink::WebServiceWorkerResponseTypeDefault; | 306 blink::WebServiceWorkerResponseTypeDefault; |
| 306 return; | 307 return; |
| 307 } | 308 } |
| 308 *was_fetched_via_service_worker = true; | 309 *was_fetched_via_service_worker = true; |
| 309 *was_fallback_required_by_service_worker = fall_back_required_; | 310 *was_fallback_required_by_service_worker = fall_back_required_; |
| 310 *original_url_via_service_worker = response_url_; | 311 *original_url_via_service_worker = response_url_; |
| 311 *response_type_via_service_worker = service_worker_response_type_; | 312 *response_type_via_service_worker = service_worker_response_type_; |
| 312 *worker_start_time = worker_start_time_; | 313 *worker_start_time = worker_start_time_; |
| 314 *worker_ready_time = worker_ready_time_; |
| 313 } | 315 } |
| 314 | 316 |
| 315 | 317 |
| 316 ServiceWorkerURLRequestJob::~ServiceWorkerURLRequestJob() { | 318 ServiceWorkerURLRequestJob::~ServiceWorkerURLRequestJob() { |
| 317 ClearStream(); | 319 ClearStream(); |
| 318 } | 320 } |
| 319 | 321 |
| 320 void ServiceWorkerURLRequestJob::MaybeStartRequest() { | 322 void ServiceWorkerURLRequestJob::MaybeStartRequest() { |
| 321 if (is_started_ && response_type_ != NOT_DETERMINED) { | 323 if (is_started_ && response_type_ != NOT_DETERMINED) { |
| 322 // Start asynchronously. | 324 // Start asynchronously. |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 } | 466 } |
| 465 | 467 |
| 466 request_body_blob_data_handle_ = | 468 request_body_blob_data_handle_ = |
| 467 blob_storage_context_->AddFinishedBlob(&blob_builder); | 469 blob_storage_context_->AddFinishedBlob(&blob_builder); |
| 468 *blob_uuid = uuid; | 470 *blob_uuid = uuid; |
| 469 *blob_size = total_size; | 471 *blob_size = total_size; |
| 470 return true; | 472 return true; |
| 471 } | 473 } |
| 472 | 474 |
| 473 void ServiceWorkerURLRequestJob::DidPrepareFetchEvent() { | 475 void ServiceWorkerURLRequestJob::DidPrepareFetchEvent() { |
| 474 load_timing_info_.send_start = base::TimeTicks::Now(); | 476 worker_ready_time_ = base::TimeTicks::Now(); |
| 477 load_timing_info_.send_start = worker_ready_time_; |
| 475 } | 478 } |
| 476 | 479 |
| 477 void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( | 480 void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( |
| 478 ServiceWorkerStatusCode status, | 481 ServiceWorkerStatusCode status, |
| 479 ServiceWorkerFetchEventResult fetch_result, | 482 ServiceWorkerFetchEventResult fetch_result, |
| 480 const ServiceWorkerResponse& response, | 483 const ServiceWorkerResponse& response, |
| 481 scoped_refptr<ServiceWorkerVersion> version) { | 484 scoped_refptr<ServiceWorkerVersion> version) { |
| 482 fetch_dispatcher_.reset(); | 485 fetch_dispatcher_.reset(); |
| 483 | 486 |
| 484 // Check if we're not orphaned. | 487 // Check if we're not orphaned. |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 644 } | 647 } |
| 645 if (!waiting_stream_url_.is_empty()) { | 648 if (!waiting_stream_url_.is_empty()) { |
| 646 StreamRegistry* stream_registry = | 649 StreamRegistry* stream_registry = |
| 647 GetStreamContextForResourceContext(resource_context_)->registry(); | 650 GetStreamContextForResourceContext(resource_context_)->registry(); |
| 648 stream_registry->RemoveRegisterObserver(waiting_stream_url_); | 651 stream_registry->RemoveRegisterObserver(waiting_stream_url_); |
| 649 stream_registry->AbortPendingStream(waiting_stream_url_); | 652 stream_registry->AbortPendingStream(waiting_stream_url_); |
| 650 } | 653 } |
| 651 } | 654 } |
| 652 | 655 |
| 653 } // namespace content | 656 } // namespace content |
| OLD | NEW |