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 c6883614eb35c96c47b14928a821698507f432b4..6170731e33d4d0923c154d7d6fa641b6d1f14109 100644 |
--- a/content/browser/service_worker/service_worker_version.cc |
+++ b/content/browser/service_worker/service_worker_version.cc |
@@ -349,6 +349,11 @@ void ServiceWorkerVersion::SetStatus(Status status) { |
TRACE_EVENT2("ServiceWorker", "ServiceWorkerVersion::SetStatus", "Script URL", |
script_url_.spec(), "New Status", VersionStatusToString(status)); |
+ // |has_fetch_handler_| must be set before setting the status to INSTALLED, |
+ // ACTIVATING or ACTIVATED. |
+ DCHECK(has_fetch_handler_ || |
+ !(status == INSTALLED || status == ACTIVATING || status == ACTIVATED)); |
+ |
status_ = status; |
if (skip_waiting_ && status_ == ACTIVATED) { |
for (int request_id : pending_skip_waiting_requests_) |