Index: content/browser/service_worker/service_worker_register_job.cc |
diff --git a/content/browser/service_worker/service_worker_register_job.cc b/content/browser/service_worker/service_worker_register_job.cc |
index 3435177898635c109f587822a8d9d34bcd910953..5be6b5193172c1c564e9dc96ab2570a5eeb893e0 100644 |
--- a/content/browser/service_worker/service_worker_register_job.cc |
+++ b/content/browser/service_worker/service_worker_register_job.cc |
@@ -450,7 +450,9 @@ void ServiceWorkerRegisterJob::CompleteInternal( |
if (should_uninstall_on_failure_) |
registration()->ClearWhenReady(); |
if (new_version()) { |
- if (status != SERVICE_WORKER_ERROR_EXISTS) |
+ if (status == SERVICE_WORKER_ERROR_EXISTS) |
+ new_version()->SetStartWorkerStatusCode(SERVICE_WORKER_ERROR_EXISTS); |
+ else |
new_version()->ReportError(status, status_message); |
registration()->UnsetVersion(new_version()); |
new_version()->Doom(); |