From 8a4a87a3e876767f504c41d78eb632b50903a19f Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Mon, 26 Aug 2024 17:46:01 +0200 Subject: [PATCH] Push subscriptions are not associated with service workers Fixes #384. --- index.html | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 7016956..2eeaf06 100644 --- a/index.html +++ b/index.html @@ -626,22 +626,18 @@

global task=] on the [=networking task source=] using |global| to [=reject=] |promise| with an {{"InvalidStateError"}} {{DOMException}} and terminate these steps. -
  • Let |sw| be |registration|'s [=service worker registration/active worker=]. -
  • Let |permission| be [=request permission to use=] "push".
  • If |permission| is {{PermissionState/"denied"}}, [=queue a global task=] on the [=user interaction task source=] using |global| to [=reject=] |promise| with a {{"NotAllowedError"}} {{DOMException}} and terminate these steps.
  • -
  • If |sw| is already subscribed, run the following sub-steps: +
  • If |registration| has a push subscription:
      -
    1. Try to retrieve the push subscription associated with the |sw|. If there is - an error, [=queue a global task=] on the [=networking task source=] using |global| to - [=reject=] |promise| with an {{"AbortError"}} {{DOMException}} and terminate these - steps. -
    2. -
    3. Let |subscription| be the push subscription associated with |sw|. +
    4. Let |subscription| be the result of obtaining |registration|'s push + subscription. If there is an error, [=queue a global task=] on the [=networking + task source=] using |global| to [=reject=] |promise| with an {{"AbortError"}} + {{DOMException}} and terminate these steps.
    5. Compare the |options| argument with the `options` attribute of |subscription|. The contents of {{BufferSource}} values are compared for equality rather than