Chromium Code Reviews| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 558 ServiceWorkerMetrics::RecordActivatedWorkerPreparationTimeForMainFrame( | 558 ServiceWorkerMetrics::RecordActivatedWorkerPreparationTimeForMainFrame( |
| 559 worker_ready_time_ - request()->creation_time(), initial_worker_status_, | 559 worker_ready_time_ - request()->creation_time(), initial_worker_status_, |
| 560 version->embedded_worker()->start_situation()); | 560 version->embedded_worker()->start_situation()); |
| 561 } | 561 } |
| 562 | 562 |
| 563 void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( | 563 void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( |
| 564 ServiceWorkerStatusCode status, | 564 ServiceWorkerStatusCode status, |
| 565 ServiceWorkerFetchEventResult fetch_result, | 565 ServiceWorkerFetchEventResult fetch_result, |
| 566 const ServiceWorkerResponse& response, | 566 const ServiceWorkerResponse& response, |
| 567 const scoped_refptr<ServiceWorkerVersion>& version) { | 567 const scoped_refptr<ServiceWorkerVersion>& version) { |
| 568 fetch_dispatcher_.reset(); | 568 // Do not clear |fetch_dispatcher_| if it has dispached a navigation prelaod |
|
falken
2017/01/18 14:24:58
nit: dispatched
horo
2017/01/18 16:14:57
Done.
| |
| 569 // request to keep the mojom::URLLoader related objects in it. | |
|
falken
2017/01/18 14:24:58
Ah, I see... can you add something to the comment
horo
2017/01/18 16:14:57
Yes.
Done.
| |
| 570 if (!did_navigation_preload_) { | |
| 571 fetch_dispatcher_.reset(); | |
| 572 } | |
| 569 ServiceWorkerMetrics::RecordFetchEventStatus(IsMainResourceLoad(), status); | 573 ServiceWorkerMetrics::RecordFetchEventStatus(IsMainResourceLoad(), status); |
| 570 | 574 |
| 571 ServiceWorkerMetrics::URLRequestJobResult result = | 575 ServiceWorkerMetrics::URLRequestJobResult result = |
| 572 ServiceWorkerMetrics::REQUEST_JOB_ERROR_BAD_DELEGATE; | 576 ServiceWorkerMetrics::REQUEST_JOB_ERROR_BAD_DELEGATE; |
| 573 if (!delegate_->RequestStillValid(&result)) { | 577 if (!delegate_->RequestStillValid(&result)) { |
| 574 RecordResult(result); | 578 RecordResult(result); |
| 575 DeliverErrorResponse(); | 579 DeliverErrorResponse(); |
| 576 return; | 580 return; |
| 577 } | 581 } |
| 578 | 582 |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 872 | 876 |
| 873 DCHECK(!fetch_dispatcher_); | 877 DCHECK(!fetch_dispatcher_); |
| 874 fetch_dispatcher_.reset(new ServiceWorkerFetchDispatcher( | 878 fetch_dispatcher_.reset(new ServiceWorkerFetchDispatcher( |
| 875 CreateFetchRequest(), active_worker, resource_type_, timeout_, | 879 CreateFetchRequest(), active_worker, resource_type_, timeout_, |
| 876 request()->net_log(), | 880 request()->net_log(), |
| 877 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent, | 881 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent, |
| 878 weak_factory_.GetWeakPtr(), active_worker), | 882 weak_factory_.GetWeakPtr(), active_worker), |
| 879 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, | 883 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, |
| 880 weak_factory_.GetWeakPtr()))); | 884 weak_factory_.GetWeakPtr()))); |
| 881 worker_start_time_ = base::TimeTicks::Now(); | 885 worker_start_time_ = base::TimeTicks::Now(); |
| 882 fetch_dispatcher_->MaybeStartNavigationPreload(request()); | 886 did_navigation_preload_ = |
| 887 fetch_dispatcher_->MaybeStartNavigationPreload(request()); | |
| 883 fetch_dispatcher_->Run(); | 888 fetch_dispatcher_->Run(); |
| 884 } | 889 } |
| 885 | 890 |
| 886 } // namespace content | 891 } // namespace content |
| OLD | NEW |