Re: [w3c/ServiceWorker] Ensure the addRoutes() to be called within the install event (PR #1744)

@yoshisatoyanagisawa commented on this pull request.



>          1.  For each |rule| of |rules|:
             1. If running the [=Verify Router Condition=] algorithm with |rule|["{{RouterRule/condition}}"] and |serviceWorker| returns false, return [=a promise rejected with=] a {{TypeError}}.
-            1. Append |rule| to |routerRules|.
-        1. If |routerRules| [=list/contains=] a {{RouterRule}} whose {{RouterRule/source}} is "{{RouterSourceEnum/fetch-event}}" and |serviceWorker|'s [=set of event types to handle=] does not [=set/contain=] {{ServiceWorkerGlobalScope/fetch!!event}}, return [=a promise rejected with=] a {{TypeError}}.
-        1. Set |serviceWorker|'s [=service worker/list of router rules=] to |routerRules|.
-        1. Return [=a promise resolved with=] undefined.
+        1. If |rules| [=list/contains=] a {{RouterRule}} whose {{RouterRule/source}} is "{{RouterSourceEnum/fetch-event}}" and |serviceWorker|'s [=set of event types to handle=] does not [=set/contain=] {{ServiceWorkerGlobalScope/fetch!!event}}, return [=a promise rejected with=] a {{TypeError}}.
+        1. Let |promise| be a new [=promise=].
+        1. [=ExtendableEvent/Add lifetime promise=] |promise| to |event|.
+
+            Note: {{InstallEvent/addRoutes(rules)|event.addRoutes(rules)}} extends the lifetime of the event by default as if {{ExtendableEvent/waitUntil()|event.waitUntil(promise)}} is called.
+
+        1. Run the following substeps [=in parallel=]:

Sure.
I tried to fix that by using ServiceWorkerEventLoop.

In Chromium, mojo should be handled sequentially and it actually executed one by one as far as I understand.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3c/ServiceWorker/pull/1744#discussion_r1928330463
You are receiving this because you are subscribed to this thread.

Message ID: <w3c/ServiceWorker/pull/1744/review/2572035784@github.com>

Received on Friday, 24 January 2025 08:42:36 UTC