From bceb2ee2c6383744beb5cd470dbbc28fe4aa491a Mon Sep 17 00:00:00 2001 From: Matt Giuca Date: Fri, 7 Jun 2024 08:45:32 +1000 Subject: [PATCH] Processing steps for id now removes the fragment (#1122) --- index.html | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 2d84905b..41141077 100644 --- a/index.html +++ b/index.html @@ -640,8 +640,7 @@

  • If |scope| is failure, return.
  • -
  • From |scope|, remove the [=url/query=] and [=url/fragment=] - components. +
  • Set |scope|'s [=URL/query=] and [=URL/fragment=] to null.
  • If |manifest|["start_url"] is not [=URL/within scope=] of |scope|, return. @@ -873,13 +872,26 @@

    application, it SHOULD treat that manifest as a description of a distinct application, even if it is served from the same URL as that of another application. When the user agent sees a manifest where - |manifest|["id"] is [=url/equal=] with [=URL serializer/exclude - fragment|exclude fragment true=] to the [=identity=] of an + |manifest|["id"] is [=url/equal=] (with [=URL/equals/exclude + fragments=] OPTIONALLY set to true) to the [=identity=] of an already-installed application, it SHOULD be used as a signal that this manifest is a replacement for the already-installed application's manifest, and not a distinct application, even if it is served from a different URL than the one seen previously.

    +

    The [=identity=] can be used by a service that collects lists of web applications to uniquely identify applications. @@ -910,6 +922,8 @@

  • If |id| is not [=same origin=] as |manifest|["start_url"], return.
  • +
  • Set |id|'s [=URL/fragment=] to null. +
  • Set |manifest|["id"] to |id|.
  • @@ -949,7 +963,7 @@

    "https://example.com/my-app/#here" - "https://example.com/my-app/#here" + "https://example.com/my-app/" @@ -985,6 +999,28 @@

    "https://example.com/foo" + + + "foo?x=y" + + + "https://example.com/my-app/start" + + + "https://example.com/foo?x=y" + + + + + "foo#heading" + + + "https://example.com/my-app/start" + + + "https://example.com/foo" + + "./foo" @@ -1312,8 +1348,7 @@

  • If the [=document=]'s [=document|processed manifest=] is not null, and [=document=]'s [=document|processed manifest=]'s id is - not [=URL/equal=] with [=URL serializer/exclude fragment|exclude - fragment true=] to |manifest|["id"], return. + not [=URL/equal=] to |manifest|["id"], return.
  • [=Process the `scope` member=] passing |json|, |manifest|, and |manifest URL|.