Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(136)

Side by Side Diff: content/browser/service_worker/service_worker_url_request_job.cc

Issue 1750333002: Reland of Pipe response_time from FetchManager to CacheStorage and ServiceWorkerURLRequestJob. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include <limits> 9 #include <limits>
10 #include <map> 10 #include <map>
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 } 303 }
304 304
305 void ServiceWorkerURLRequestJob::OnBeforeNetworkStart(net::URLRequest* request, 305 void ServiceWorkerURLRequestJob::OnBeforeNetworkStart(net::URLRequest* request,
306 bool* defer) { 306 bool* defer) {
307 NOTREACHED(); 307 NOTREACHED();
308 } 308 }
309 309
310 void ServiceWorkerURLRequestJob::OnResponseStarted(net::URLRequest* request) { 310 void ServiceWorkerURLRequestJob::OnResponseStarted(net::URLRequest* request) {
311 // TODO(falken): Add Content-Length, Content-Type if they were not provided in 311 // TODO(falken): Add Content-Length, Content-Type if they were not provided in
312 // the ServiceWorkerResponse. 312 // the ServiceWorkerResponse.
313 response_time_ = base::Time::Now(); 313 if (response_time_.is_null())
314 response_time_ = base::Time::Now();
314 CommitResponseHeader(); 315 CommitResponseHeader();
315 } 316 }
316 317
317 void ServiceWorkerURLRequestJob::OnReadCompleted(net::URLRequest* request, 318 void ServiceWorkerURLRequestJob::OnReadCompleted(net::URLRequest* request,
318 int bytes_read) { 319 int bytes_read) {
319 if (!request->status().is_success()) { 320 if (!request->status().is_success()) {
320 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_ERROR_BLOB_READ); 321 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_ERROR_BLOB_READ);
321 } else if (bytes_read == 0) { 322 } else if (bytes_read == 0) {
322 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_BLOB_RESPONSE); 323 RecordResult(ServiceWorkerMetrics::REQUEST_JOB_BLOB_RESPONSE);
323 } 324 }
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 } 657 }
657 658
658 // Set up a request for reading the stream. 659 // Set up a request for reading the stream.
659 if (response.stream_url.is_valid()) { 660 if (response.stream_url.is_valid()) {
660 DCHECK(response.blob_uuid.empty()); 661 DCHECK(response.blob_uuid.empty());
661 SetResponseBodyType(STREAM); 662 SetResponseBodyType(STREAM);
662 streaming_version_ = version; 663 streaming_version_ = version;
663 streaming_version_->AddStreamingURLRequestJob(this); 664 streaming_version_->AddStreamingURLRequestJob(this);
664 response_url_ = response.url; 665 response_url_ = response.url;
665 service_worker_response_type_ = response.response_type; 666 service_worker_response_type_ = response.response_type;
667 response_time_ = response.response_time;
666 CreateResponseHeader( 668 CreateResponseHeader(
667 response.status_code, response.status_text, response.headers); 669 response.status_code, response.status_text, response.headers);
668 load_timing_info_.receive_headers_end = base::TimeTicks::Now(); 670 load_timing_info_.receive_headers_end = base::TimeTicks::Now();
669 StreamContext* stream_context = 671 StreamContext* stream_context =
670 GetStreamContextForResourceContext(resource_context_); 672 GetStreamContextForResourceContext(resource_context_);
671 stream_ = 673 stream_ =
672 stream_context->registry()->GetStream(response.stream_url); 674 stream_context->registry()->GetStream(response.stream_url);
673 if (!stream_.get()) { 675 if (!stream_.get()) {
674 waiting_stream_url_ = response.stream_url; 676 waiting_stream_url_ = response.stream_url;
675 // Wait for StreamHostMsg_StartBuilding message from the ServiceWorker. 677 // Wait for StreamHostMsg_StartBuilding message from the ServiceWorker.
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 base::TimeTicks() /* service_worker_ready_time */); 834 base::TimeTicks() /* service_worker_ready_time */);
833 return; 835 return;
834 } 836 }
835 delegate_->OnStartCompleted(true /* was_fetched_via_service_worker */, 837 delegate_->OnStartCompleted(true /* was_fetched_via_service_worker */,
836 fall_back_required_, response_url_, 838 fall_back_required_, response_url_,
837 service_worker_response_type_, worker_start_time_, 839 service_worker_response_type_, worker_start_time_,
838 worker_ready_time_); 840 worker_ready_time_);
839 } 841 }
840 842
841 } // namespace content 843 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698