Re: [w3c/ServiceWorker] Skip executing fetch handlers if it is no-op. (PR #1672)

@yoshisatoyanagisawa commented on this pull request.



>            1. Run the <a>responsible event loop</a> specified by |settingsObject| until it is destroyed.
           1. [=map/Clear=] |workerGlobalScope|'s [=map of active timers=].
       1. Wait for |serviceWorker| to be [=running=], or for |startFailed| to be true.
       1. If |startFailed| is true, then return *failure*.
       1. Return |serviceWorker|'s [=start status=].
   </section>
 
+  <section algorithm>
+    <h3 id="empty-handler-identification-algorithm"><dfn>Empty Handler identification</dfn></h3>
+
+      : Input
+      :: |workerGlobalScope|, a [=service worker/global object=].
+      : Output
+      :: a boolean
+
+      1. If |workerGlobalScope|'s <a>set of event types to handle</a> does not [=set/contain=] <code>fetch</code>, then returns false.
+      1. Let |eventListenerList| be an empty [=list=].
+      1. [=list/For each=] |eventListener| of |workerGlobalScope|'s <a>set of event types to handle</a>:

Hmm, I got stuck on finding who sets currentTarget (https://dom.spec.whatwg.org/#dom-event-currenttarget) in Dispatching Events (https://dom.spec.whatwg.org/#concept-event-dispatch).
If that is cleared, we can get event listeners from currentTarget like invoke's step 6 (https://dom.spec.whatwg.org/#concept-event-listener-invoke), and the current algorithm can be used.
I tired to update anyway.

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

Message ID: <w3c/ServiceWorker/pull/1672/review/1308737491@github.com>

Received on Wednesday, 22 February 2023 08:28:05 UTC