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

Unified Diff: content/browser/service_worker/service_worker_controllee_request_handler.cc

Issue 1160883004: Keep workerStart timing info over request job restarts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_controllee_request_handler.cc
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc
index 3ac742ca3d8a95c82a60c98a1d5d66292ae9f3f8..2ef8b6fa823ceb1d09b7560f006321453480e732 100644
--- a/content/browser/service_worker/service_worker_controllee_request_handler.cc
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc
@@ -64,6 +64,11 @@ net::URLRequestJob* ServiceWorkerControlleeRequestHandler::MaybeCreateJob(
net::URLRequest* request,
net::NetworkDelegate* network_delegate,
ResourceContext* resource_context) {
+ if (job_.get() && worker_start_time_.is_null()) {
+ // Save worker-start time of the first job.
+ worker_start_time_ = job_->worker_start_time();
+ }
+
if (!context_ || !provider_host_) {
// We can't do anything other than to fall back to network.
job_ = NULL;
@@ -119,12 +124,17 @@ void ServiceWorkerControlleeRequestHandler::GetExtraResponseInfo(
*was_fetched_via_service_worker = false;
*was_fallback_required_by_service_worker = false;
*original_url_via_service_worker = GURL();
+ *worker_start_time = worker_start_time_;
return;
}
job_->GetExtraResponseInfo(
was_fetched_via_service_worker, was_fallback_required_by_service_worker,
original_url_via_service_worker, response_type_via_service_worker,
worker_start_time);
+ if (!worker_start_time_.is_null()) {
+ // If we have worker start time from previous job, use it.
+ *worker_start_time = worker_start_time_;
+ }
}
void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(

Powered by Google App Engine
This is Rietveld 408576698