From a08d2afb4f342ee413ce558098100cf9485b20ca Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Fri, 28 Oct 2022 16:04:36 +1100
Subject: [PATCH 01/17] Remove html dep
---
index.html | 38 +++++++++++++++++++++++++++-----------
1 file changed, 27 insertions(+), 11 deletions(-)
diff --git a/index.html b/index.html
index 62d0556ba..7fbe621ad 100644
--- a/index.html
+++ b/index.html
@@ -1986,18 +1986,10 @@
When shortcut item shortcut having
- manifest is invoked, run the following steps:
+ manifest is invoked, run the steps to
+ [=launch a web application=] given mainfest and
+ shortcut.url.
-
- - Let url be shortcut.url.
-
- - Let browsing context be the result of creating a new
- top-level browsing context.
-
- -
- Navigate browsing context to url.
-
-
@@ -2249,6 +2241,30 @@
available underneath an icon).
+
Date: Fri, 4 Nov 2022 10:58:30 +1100
Subject: [PATCH 05/17] review changes
---
index.html | 43 ++++++++++++++++++++++++++++---------------
1 file changed, 28 insertions(+), 15 deletions(-)
diff --git a/index.html b/index.html
index d0654e6cd..1a62abd77 100644
--- a/index.html
+++ b/index.html
@@ -1397,6 +1397,11 @@
[=Document/processed manifest=] are affecting the presentation or
behavior of a browsing context.
+
+ This gives the user agent an opportunity to apply the relevant
+ values of the manifest, possibly changing the display mode
+ and screen orientation of the web application.
+
A top-level browsing context that has a manifest applied to
it is referred to as an application context.
@@ -1987,7 +1992,7 @@
When shortcut item shortcut having
manifest is invoked, run the steps to
- [=launch a web application=] given mainfest and
+ [=launch a web application=] given manifest and
shortcut.url.
@@ -2195,16 +2200,14 @@
bookmark, as opening a web page from a traditional bookmark will not
have the manifest's properties applied to it.
-
+
For example, on user agents that support installation, a web
application could be presented and launched in a way that, to the
end-user, is indistinguishable from native applications: such as
appearing as a labeled icon on the home screen, launcher, or start
- menu. When launched, the manifest is applied by the user agent
- to the top-level browsing context prior to the start URL
- being loaded. This gives the user agent an opportunity to apply the
- relevant values of the manifest, possibly changing the display
- mode and screen orientation of the web application. Alternatively,
+ menu. When [=launching a web application=], the manifest is
+ applied by the user agent to the top-level browsing
+ context prior to the start URL being loaded. Alternatively,
and again as an example, the user agent could install the web
application into a list of bookmarks within the user agent itself.
@@ -2246,25 +2249,35 @@
Launching a web application
- The steps to launch a web application is given by the
- following algorithm. The algorithm takes a
- [=Document/processed manifest=] |manifest:processed manifest|, an
- optional |target URL:URL| and an optional
+ At the discretion of the operating system and/or user agent, run the
+ steps to [=launch a web application=] with a
+ [=Document/processed manifest=].
+
+
+ This would typically take place when the user selects an [=installed=]
+ web app from an app launching UI surface e.g., a home screen, launcher
+ or start menu.
+
+
+ The steps to launch a web
+ application is given by the following algorithm. The algorithm
+ takes a [=Document/processed manifest=] |manifest:processed manifest|,
+ an optional |target URL:URL| and an optional
POST resource |POST resource|.
- - If |target URL| is null, set |target URL| to
- |manifest|.[=manifest/start_url=].
+
- If |target URL| was not passed, set |target URL| to [=start URL=].
- Let |traversable| be the result of
creating a fresh top-level traversable passing |target URL|
- and |POST resource|.
+ and |POST resource| (or null if |POST resource| was not passed).
- Let |browsing context| be the |traversable|'s
active browsing context.
- - [=Apply=] |manifest| to |browsing context|.
+
- [=Apply=] |manifest| to |browsing context| prior to the
+ |traversable| [=navigating=] to |target URL|.
From 9abc6d9a43121884378e52d6ed327268ec9af10e Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Fri, 4 Nov 2022 12:05:33 +1100
Subject: [PATCH 06/17] Wording tweaks based on
https://infra.spec.whatwg.org/#algorithm-params
---
index.html | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/index.html b/index.html
index 1a62abd77..4a88db855 100644
--- a/index.html
+++ b/index.html
@@ -1992,7 +1992,7 @@
When shortcut item shortcut having
manifest is invoked, run the steps to
- [=launch a web application=] given manifest and
+ [=launch a web application=] with manifest and
shortcut.url.
@@ -2266,12 +2266,12 @@
POST resource |POST resource|.
- - If |target URL| was not passed, set |target URL| to [=start URL=].
+
- If |target URL| was not given, set |target URL| to [=start URL=].
- Let |traversable| be the result of
- creating a fresh top-level traversable passing |target URL|
- and |POST resource| (or null if |POST resource| was not passed).
+ creating a fresh top-level traversable with |target URL|
+ and |POST resource| (or null if |POST resource| was not given).
- Let |browsing context| be the |traversable|'s
active browsing context.
From 1e1e36f491dc012e831cc3c77b2f88cf55e6a1e6 Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 10:24:57 +1100
Subject: [PATCH 07/17] Fix duplicate section id
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index 4a88db855..62fc6d367 100644
--- a/index.html
+++ b/index.html
@@ -2245,7 +2245,7 @@
-
+
Launching a web application
From a624ec935e547528bccfa17693d18d621a86d8e4 Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 13:46:31 +1100
Subject: [PATCH 08/17] Minor changes
---
index.html | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/index.html b/index.html
index 62fc6d367..bd151ecc4 100644
--- a/index.html
+++ b/index.html
@@ -2249,9 +2249,8 @@
Launching a web application
- At the discretion of the operating system and/or user agent, run the
- steps to [=launch a web application=] with a
- [=Document/processed manifest=].
+ At the discretion of the OS or UA, run the steps to
+ [=launch a web application=] with a [=Document/processed manifest=].
This would typically take place when the user selects an [=installed=]
@@ -2271,13 +2270,12 @@
- Let |traversable| be the result of
creating a fresh top-level traversable with |target URL|
- and |POST resource| (or null if |POST resource| was not given).
+ and |POST resource|.
- Let |browsing context| be the |traversable|'s
active browsing context.
- - [=Apply=] |manifest| to |browsing context| prior to the
- |traversable| [=navigating=] to |target URL|.
+
- [=Apply=] |manifest| to |browsing context|.
From 7104d4491aa5f8eced767f4cb42089265b3046f8 Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 13:59:54 +1100
Subject: [PATCH 09/17] unmove
---
index.html | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/index.html b/index.html
index bd151ecc4..fd2dc3a2f 100644
--- a/index.html
+++ b/index.html
@@ -1397,11 +1397,6 @@
[=Document/processed manifest=] are affecting the presentation or
behavior of a browsing context.
-
- This gives the user agent an opportunity to apply the relevant
- values of the manifest, possibly changing the display mode
- and screen orientation of the web application.
-
A top-level browsing context that has a manifest applied to
it is referred to as an application context.
@@ -2207,9 +2202,12 @@
appearing as a labeled icon on the home screen, launcher, or start
menu. When [=launching a web application=], the manifest is
applied by the user agent to the top-level browsing
- context prior to the start URL being loaded. Alternatively,
- and again as an example, the user agent could install the web
- application into a list of bookmarks within the user agent itself.
+ context prior to the start URL being loaded. This gives the
+ user agent an opportunity to apply the relevant values of the manifest,
+ possibly changing the display mode and screen orientation of the
+ web application. Alternatively, and again as an example, the user agent
+ could install the web application into a list of bookmarks within
+ the user agent itself.
From 11d7a0a3baf7b62b834423c0ea45526cb7e3092f Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 14:03:14 +1100
Subject: [PATCH 10/17] Add return
---
index.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/index.html b/index.html
index fd2dc3a2f..e2139a1dd 100644
--- a/index.html
+++ b/index.html
@@ -2275,6 +2275,8 @@
[=Apply=] |manifest| to |browsing context|.
+ Return |browsing context|.
+
From e99493824813acc66a3926f43f0e718db9c5a9d0 Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 16:45:10 +1100
Subject: [PATCH 11/17] moar review
---
index.html | 37 +++++++++++++++++++++++++++++++++----
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/index.html b/index.html
index e2139a1dd..63218a065 100644
--- a/index.html
+++ b/index.html
@@ -2247,8 +2247,9 @@
Launching a web application
- At the discretion of the OS or UA, run the steps to
- [=launch a web application=] with a [=Document/processed manifest=].
+ At the discretion of the operating system or user agent, run the steps
+ to [=launch a web application=] with a
+ [=Document/processed manifest=].
This would typically take place when the user selects an [=installed=]
@@ -2259,8 +2260,36 @@
The steps to launch a web
application is given by the following algorithm. The algorithm
takes a [=Document/processed manifest=] |manifest:processed manifest|,
- an optional |target URL:URL| and an optional
- POST resource |POST resource|.
+ an optional |target URL:URL|, an optional
+ POST resource |POST resource|
+ and returns an [=application context=].
+
+
+ Other specifications MAY replace this algorithm's steps with their own
+ steps. This replacement will take effect for all invocations
+ of [=launching a web application=].
+
+
+ This algorithm is replaceable to allow an experimental
+ launch_handler
+ manifest field to configure the behavior of all web application
+ launches. The replacement algorithm invokes [=create a new
+ application context=] by default but under certain conditions behaves
+ differently.
+
+
+ - Return the result of running the steps to [=create a new
+ application context=] passing |manifest|, |target URL| and
+ |POST resource|.
+
+
+
+ The steps to create a new application context is given
+ by the following algorithm. The algorithm takes a
+ [=Document/processed manifest=] |manifest:processed manifest|,
+ an optional |target URL:URL|, an optional
+ POST resource |POST resource|
+ and returns an [=application context=].
- If |target URL| was not given, set |target URL| to [=start URL=].
From 7fac1a0f4e97a64bc7f5d692ee860300b3ac4bea Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 17:07:30 +1100
Subject: [PATCH 12/17] html spec references available now
---
index.html | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/index.html b/index.html
index 63218a065..a6fb0669b 100644
--- a/index.html
+++ b/index.html
@@ -2260,9 +2260,8 @@
The steps to launch a web
application is given by the following algorithm. The algorithm
takes a [=Document/processed manifest=] |manifest:processed manifest|,
- an optional |target URL:URL|, an optional
- POST resource |POST resource|
- and returns an [=application context=].
+ an optional |target URL:URL|, an optional [=POST resource=]
+ |POST resource| and returns an [=application context=].
Other specifications MAY replace this algorithm's steps with their own
@@ -2287,17 +2286,15 @@
The steps to create a new application context is given
by the following algorithm. The algorithm takes a
[=Document/processed manifest=] |manifest:processed manifest|,
- an optional |target URL:URL|, an optional
- POST resource |POST resource|
- and returns an [=application context=].
+ an optional |target URL:URL|, an optional [=POST resource=]
+ |POST resource| and returns an [=application context=].
- If |target URL| was not given, set |target URL| to [=start URL=].
- - Let |traversable| be the result of
-
- creating a fresh top-level traversable with |target URL|
- and |POST resource|.
+
- Let |traversable| be the result of running the steps to [=create
+ a fresh top-level traversable=] with |target URL| and
+ |POST resource|.
- Let |browsing context| be the |traversable|'s
active browsing context.
From 148f6e8983243e751fa6f431313b78e91b4fc93b Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 17:20:20 +1100
Subject: [PATCH 13/17] scope must
---
index.html | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/index.html b/index.html
index a6fb0669b..39175d916 100644
--- a/index.html
+++ b/index.html
@@ -2263,6 +2263,10 @@
an optional |target URL:URL|, an optional [=POST resource=]
|POST resource| and returns an [=application context=].
+
+ |Target URL|, if given, MUST be [=manifest/within scope=] of
+ |manifest|.
+
Other specifications MAY replace this algorithm's steps with their own
steps. This replacement will take effect for all invocations
From b7e9fb0d9f9f45373124895378947005cb838f9d Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Mon, 7 Nov 2022 17:23:18 +1100
Subject: [PATCH 14/17] Export launch algorithms
---
index.html | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/index.html b/index.html
index 39175d916..e4e3d657b 100644
--- a/index.html
+++ b/index.html
@@ -2257,7 +2257,8 @@
or start menu.
- The steps to launch a web
+ The steps to
+ launch a web
application is given by the following algorithm. The algorithm
takes a [=Document/processed manifest=] |manifest:processed manifest|,
an optional |target URL:URL|, an optional [=POST resource=]
@@ -2287,8 +2288,8 @@
- The steps to create a new application context is given
- by the following algorithm. The algorithm takes a
+ The steps to create a new application context
+ is given by the following algorithm. The algorithm takes a
[=Document/processed manifest=] |manifest:processed manifest|,
an optional |target URL:URL|, an optional [=POST resource=]
|POST resource| and returns an [=application context=].
From 08f72d75e46382938045057f3d21c4bf3c48a46e Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Tue, 8 Nov 2022 10:02:14 +1100
Subject: [PATCH 15/17] lower case t
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index e4e3d657b..84973f385 100644
--- a/index.html
+++ b/index.html
@@ -2265,7 +2265,7 @@
|POST resource| and returns an [=application context=].
- |Target URL|, if given, MUST be [=manifest/within scope=] of
+ |target URL|, if given, MUST be [=manifest/within scope=] of
|manifest|.
From 82fdb34ec4ec0012688e58e3d0cd6c96597bf0e2 Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Tue, 8 Nov 2022 10:04:01 +1100
Subject: [PATCH 16/17] prepend url type to target URL
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 84973f385..0f6cccff7 100644
--- a/index.html
+++ b/index.html
@@ -2261,7 +2261,7 @@
launch a web
application is given by the following algorithm. The algorithm
takes a [=Document/processed manifest=] |manifest:processed manifest|,
- an optional |target URL:URL|, an optional [=POST resource=]
+ an optional [=URL=] |target URL:URL|, an optional [=POST resource=]
|POST resource| and returns an [=application context=].
@@ -2291,7 +2291,7 @@
The steps to create a new application context
is given by the following algorithm. The algorithm takes a
[=Document/processed manifest=] |manifest:processed manifest|,
- an optional |target URL:URL|, an optional [=POST resource=]
+ an optional [=URL=] |target URL:URL|, an optional [=POST resource=]
|POST resource| and returns an [=application context=].
From c81c265b65e3fbb1d773f1c5104e947c1e97aa0c Mon Sep 17 00:00:00 2001
From: Alan Cutter
Date: Tue, 8 Nov 2022 11:29:09 +1100
Subject: [PATCH 17/17] Minor word tweak
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 0f6cccff7..f2f401e95 100644
--- a/index.html
+++ b/index.html
@@ -2270,8 +2270,8 @@
Other specifications MAY replace this algorithm's steps with their own
- steps. This replacement will take effect for all invocations
- of [=launching a web application=].
+ steps. This replacement will take effect for all invocations of
+ [=launch a web application=].
This algorithm is replaceable to allow an experimental