| Index: content/browser/service_worker/service_worker_version.cc
 | 
| diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
 | 
| index 51eb072ff933c4a2b34dc3f24aaed5d8c7fdee91..e2f13126ac1bc1c24fb039c410e5122693b58c53 100644
 | 
| --- a/content/browser/service_worker/service_worker_version.cc
 | 
| +++ b/content/browser/service_worker/service_worker_version.cc
 | 
| @@ -1540,14 +1540,21 @@ bool ServiceWorkerVersion::HasInflightRequests() const {
 | 
|  
 | 
|  void ServiceWorkerVersion::RecordStartWorkerResult(
 | 
|      ServiceWorkerStatusCode status) {
 | 
| +  base::TimeTicks start_time = start_time_;
 | 
| +  ClearTick(&start_time_);
 | 
| +
 | 
| +  // Failing to start a doomed worker isn't interesting and very common when
 | 
| +  // update dooms because the script is byte-to-byte identical.
 | 
| +  if (is_doomed_)
 | 
| +    return;
 | 
| +
 | 
|    UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.Status", status,
 | 
|                              SERVICE_WORKER_ERROR_MAX_VALUE);
 | 
| -  if (status == SERVICE_WORKER_OK && !start_time_.is_null()) {
 | 
| +  if (status == SERVICE_WORKER_OK && !start_time.is_null()) {
 | 
|      UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.StartWorker.Time",
 | 
| -                               GetTickDuration(start_time_));
 | 
| +                               GetTickDuration(start_time));
 | 
|    }
 | 
|  
 | 
| -  ClearTick(&start_time_);
 | 
|    if (status != SERVICE_WORKER_ERROR_TIMEOUT)
 | 
|      return;
 | 
|    EmbeddedWorkerInstance::StartingPhase phase =
 | 
| 
 |