From c587dc023de2270cb78fb0a828c5d49a0b786edc Mon Sep 17 00:00:00 2001 From: Eden Chuang Date: Sat, 3 May 2025 15:21:06 +0000 Subject: [PATCH] Bug 1964033 - Update the ServiceWorkerShutdown progress setup assertion. r=dom-worker-reviewers,asuth Differential Revision: https://phabricator.services.mozilla.com/D247580 --- dom/serviceworkers/ServiceWorkerShutdownState.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dom/serviceworkers/ServiceWorkerShutdownState.cpp b/dom/serviceworkers/ServiceWorkerShutdownState.cpp index 686f31487703..606b21626f1f 100644 --- a/dom/serviceworkers/ServiceWorkerShutdownState.cpp +++ b/dom/serviceworkers/ServiceWorkerShutdownState.cpp @@ -62,8 +62,12 @@ const char* ServiceWorkerShutdownState::GetProgressString() const { void ServiceWorkerShutdownState::SetProgress(Progress aProgress) { MOZ_ASSERT(aProgress != Progress::EndGuard_); + // The Shutdown progress should be increased step by step. However, it could + // directly get into ShutdownCompleted state when shutting down starts during + // ServiceWorker spawning. MOZ_RELEASE_ASSERT(UnderlyingProgressValue(mProgress) + 1 == - UnderlyingProgressValue(aProgress)); + UnderlyingProgressValue(aProgress) || + aProgress == Progress::ShutdownCompleted); mProgress = aProgress; }