Chromium Code Reviews| Index: content/browser/service_worker/service_worker_url_request_job.cc |
| diff --git a/content/browser/service_worker/service_worker_url_request_job.cc b/content/browser/service_worker/service_worker_url_request_job.cc |
| index be241fb862f45d2064fbe5d9a66aeba837622e2b..7b5fe06e0bb29ae275318b5b38ca6d0d4f7dd5b2 100644 |
| --- a/content/browser/service_worker/service_worker_url_request_job.cc |
| +++ b/content/browser/service_worker/service_worker_url_request_job.cc |
| @@ -9,7 +9,6 @@ |
| #include <limits> |
| #include <map> |
| -#include <memory> |
| #include <string> |
| #include <utility> |
| #include <vector> |
| @@ -758,15 +757,9 @@ void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( |
| if (response.stream_url.is_valid()) { |
| DCHECK(response.blob_uuid.empty()); |
| SetResponseBodyType(STREAM); |
| + SetResponse(response); |
| streaming_version_ = version; |
| streaming_version_->AddStreamingURLRequestJob(this); |
| - response_url_ = response.url; |
| - service_worker_response_type_ = response.response_type; |
| - cors_exposed_header_names_ = response.cors_exposed_header_names; |
| - response_time_ = response.response_time; |
| - CreateResponseHeader( |
| - response.status_code, response.status_text, response.headers); |
| - load_timing_info_.receive_headers_end = base::TimeTicks::Now(); |
| StreamContext* stream_context = |
| GetStreamContextForResourceContext(resource_context_); |
| stream_ = |
| @@ -799,19 +792,26 @@ void ServiceWorkerURLRequestJob::DidDispatchFetchEvent( |
| blob_request_->Start(); |
| } |
| + SetResponse(response); |
| + |
| + if (!blob_request_) { |
| + RecordResult(ServiceWorkerMetrics::REQUEST_JOB_HEADERS_ONLY_RESPONSE); |
| + CommitResponseHeader(); |
| + } |
| +} |
| + |
| +void ServiceWorkerURLRequestJob::SetResponse( |
| + const ServiceWorkerResponse& response) { |
| response_url_ = response.url; |
| service_worker_response_type_ = response.response_type; |
| + cors_exposed_header_names_ = response.cors_exposed_header_names; |
| response_time_ = response.response_time; |
| + CreateResponseHeader(response.status_code, response.status_text, |
| + response.headers); |
| + load_timing_info_.receive_headers_end = base::TimeTicks::Now(); |
| + |
| response_is_in_cache_storage_ = response.is_in_cache_storage; |
| response_cache_storage_cache_name_ = response.cache_storage_cache_name; |
|
falken
2016/08/30 07:06:17
Previously these cache_storage members were only s
|
| - cors_exposed_header_names_ = response.cors_exposed_header_names; |
| - CreateResponseHeader( |
| - response.status_code, response.status_text, response.headers); |
| - load_timing_info_.receive_headers_end = base::TimeTicks::Now(); |
| - if (!blob_request_) { |
| - RecordResult(ServiceWorkerMetrics::REQUEST_JOB_HEADERS_ONLY_RESPONSE); |
| - CommitResponseHeader(); |
| - } |
| } |
| void ServiceWorkerURLRequestJob::CreateResponseHeader( |