@@ -200,10 +200,6 @@ <h2>
200200 </ li >
201201 < li > [=manifest/orientation=]
202202 </ li >
203- < li > [=manifest/prefer_related_applications=]
204- </ li >
205- < li > [=manifest/related_applications=]
206- </ li >
207203 < li > [=manifest/scope=]
208204 </ li >
209205 < li > [=manifest/short_name=]
@@ -1096,81 +1092,6 @@ <h3>
10961092 algorithm is used to process the [=manifest/theme_color=] member.
10971093 </ p >
10981094 </ section >
1099- < section >
1100- < h3 >
1101- `related_applications` member
1102- </ h3 >
1103- < aside class ="issue " data-number ="956 "> </ aside >
1104- < p >
1105- A < dfn > related application</ dfn > is an application accessible to the
1106- underlying application platform that has a relationship with the web
1107- application.
1108- </ p >
1109- < p >
1110- The [=manifest's=] < code > < dfn data-export ="" data-dfn-for =
1111- "manifest "> related_applications</ dfn > </ code > member lists < a > related
1112- applications</ a > and serves as an indication of such a relationship
1113- between web application and < a > related applications</ a > . This
1114- relationship is unidirectional and unless a listed application claims
1115- the same relationship, the < a > user agent</ a > MUST NOT assume a
1116- bi-directional endorsement.
1117- </ p >
1118- < p >
1119- Example of usages of the `related_applications` could be a crawler
1120- that would use that information to gather more information about the
1121- web application or a browser that could suggest a listed application
1122- as an alternative if the user wants to install the web application.
1123- </ p >
1124- < p >
1125- To < dfn > process the `related_applications` member</ dfn > , given
1126- [=ordered map=] |json:ordered map| and [=ordered map=]
1127- |manifest:ordered map|:
1128- </ p >
1129- < ol class ="algorithm ">
1130- < li > Let |relatedApplications:list| be a new [=list=].
1131- </ li >
1132- < li > Set |manifest|["related_applications"] to |relatedApplications|.
1133- </ li >
1134- < li > If |json|["related_applications"] doesn't [=map/exist=] or
1135- |json|["related_applications"] is not a [=list=], return.
1136- </ li >
1137- < li > [=list/For each=] < var > app</ var > of
1138- |json|["related_applications"]:
1139- < ol >
1140- < li > If neither < var > app</ var > ["id"] nor < var > app</ var > ["url"] are
1141- missing:
1142- < ol >
1143- < li > Set < var > app</ var > ["url"] to the result of running
1144- < a > process the `url` member of an application</ a > given < var >
1145- app</ var > ["url"].
1146- </ li >
1147- < li > [=list/append=] < var > app</ var > to
1148- < var > relatedApplications</ var > .
1149- </ li >
1150- </ ol >
1151- </ li >
1152- </ ol >
1153- </ li >
1154- < li > Set < var > relatedApplications</ var > .
1155- </ li >
1156- </ ol >
1157- </ section >
1158- < section >
1159- < h3 >
1160- `prefer_related_applications` member
1161- </ h3 >
1162- < aside class ="issue " data-number ="957 "> </ aside >
1163- < p >
1164- The [=manifest's=] < code > < dfn data-export ="" data-dfn-for =
1165- "manifest "> `prefer_related_applications`</ dfn > </ code > member is a
1166- [=boolean=] that is used as a hint for the user agent to say that
1167- < a > related applications</ a > should be preferred over the web
1168- application. If the `prefer_related_applications` member is set to
1169- `true`, and the user agent wants to suggest to install the web
1170- application, the user agent might want to suggest installing one of
1171- the < a > related applications</ a > instead.
1172- </ p >
1173- </ section >
11741095 < section >
11751096 < h3 >
11761097 `background_color` member
@@ -1646,9 +1567,6 @@ <h3>
16461567 < li > [=Process the `orientation` member=] passing |json|,
16471568 |manifest|.
16481569 </ li >
1649- < li > [=Process the `related_applications` member=] passing |json|
1650- and |manifest|.
1651- </ li >
16521570 < li > [=Process the `shortcuts` member=] passing |json|, |manifest|,
16531571 and |manifest URL|.
16541572 </ li >
@@ -2471,151 +2389,6 @@ <h2>
24712389 </ ol >
24722390 </ section >
24732391 </ section >
2474- < section >
2475- < h2 >
2476- External application resource
2477- </ h2 >
2478- < aside class ="issue atrisk " data-number ="956 "> </ aside >
2479- < p >
2480- Each < dfn data-local-lt ="external application resource's "> external
2481- application resource</ dfn > represents an application related to the web
2482- application.
2483- </ p >
2484- < p >
2485- An [=external application resource=] can have the following members,
2486- some of which are required to be a [=valid external application
2487- resource=]:
2488- </ p >
2489- < ul >
2490- < li > [=external application resource/fingerprints=] member
2491- </ li >
2492- < li > [=external application resource/id=] member
2493- </ li >
2494- < li > [=external application resource/min_version=] member
2495- </ li >
2496- < li > [=external application resource/platform=] member
2497- </ li >
2498- < li > [=external application resource/url=] member
2499- </ li >
2500- </ ul >
2501- < p >
2502- A < dfn > valid external application resource</ dfn > MUST have [=external
2503- application resource/platform=] member, and either an [=external
2504- application resource/url=] or an [=external application resource/id=]
2505- member (or both).
2506- </ p >
2507- < aside class ="example ">
2508- < p >
2509- In the following example, the web application is listing two
2510- different related applications, one on Google Play Store and the
2511- other one on the iTunes Store. The one on the Google Play Store has
2512- an Android package name, a minimum version specifier, and
2513- cryptographic fingerprints used for verification, in a
2514- Play-Store-specific manner.
2515- </ p >
2516- < pre class ="json ">
2517- {
2518- "related_applications": [
2519- {
2520- "platform": "play",
2521- "url": "https://play.google.com/store/apps/details?id=com.example.app1",
2522- "id": "com.example.app1",
2523- "min_version": "2",
2524- "fingerprints": [
2525- {
2526- "type": "sha256_cert",
2527- "value": "92:5A:39:05:C5:B9:EA:BC:71:48:5F:F2"
2528- }
2529- ]
2530- },
2531- {
2532- "platform": "itunes",
2533- "url": "https://itunes.apple.com/app/example-app1/id123456789"
2534- }
2535- ]
2536- }
2537- </ pre >
2538- </ aside >
2539- < section >
2540- < h3 >
2541- `platform` member
2542- </ h3 >
2543- < p >
2544- The < code > < dfn data-dfn-for =
2545- "external application resource "> platform</ dfn > </ code > member
2546- represents the [=platform=] this [=external application resource=] is
2547- associated with. A < dfn data-dfn-for =""> platform</ dfn > represents a
2548- software distribution ecosystem or possibly an operating system. This
2549- specification does not define the particular values for the
2550- < a > platform</ a > member.
2551- </ p >
2552- < aside class ="Platforms registry ">
2553- The working group maintains a < a href =
2554- "https://github.com/w3c/manifest/wiki/Platforms "> registry of known
2555- platform values</ a > .
2556- </ aside >
2557- </ section >
2558- < section >
2559- < h3 >
2560- `url` member
2561- </ h3 >
2562- < p >
2563- An [=external application resource's=] < code > < dfn data-dfn-for =
2564- "external application resource "> url</ dfn > </ code > member is the
2565- < a > URL</ a > where the application can be found.
2566- </ p >
2567- < p >
2568- To < dfn > process the `url` member of an application</ dfn > :
2569- </ p >
2570- < ol class ="algorithm ">
2571- < li > If < var > application URL</ var > is missing, return null.
2572- </ li >
2573- < li > Otherwise, [=URL Parser|parse=] < var > application URL</ var > and if
2574- the result is not failure, return the result. Otherwise return null.
2575- </ li >
2576- </ ol >
2577- </ section >
2578- < section >
2579- < h3 >
2580- `id` member
2581- </ h3 >
2582- < p >
2583- An [=external application resource's=] < code > < dfn data-dfn-for =
2584- "external application resource "> id</ dfn > </ code > member represents the
2585- id which is used to represent the application on the platform.
2586- </ p >
2587- </ section >
2588- < section >
2589- < h3 >
2590- `min_version` member
2591- </ h3 >
2592- < p >
2593- An [=external application resource's=] < code > < dfn data-dfn-for =
2594- "external application resource "> min_version</ dfn > </ code > member
2595- represents the minimum version of the application that is considered
2596- related to this web app. This version is a < a > string</ a > with
2597- platform-specific syntax and semantics.
2598- </ p >
2599- </ section >
2600- < section >
2601- < h3 >
2602- `fingerprints` member
2603- </ h3 >
2604- < p >
2605- An [=external application resource's=] < code > < dfn data-dfn-for =
2606- "external application resource "> fingerprints</ dfn > </ code > member
2607- represents an [=list=] of [=fingerprints=].
2608- </ p >
2609- < p >
2610- A < dfn data-local-lt ="fingerprints "> fingerprint</ dfn > represents a
2611- set of cryptographic fingerprints used for verifying the application.
2612- A fingerprint has the following two members: < dfn data-dfn-for =
2613- "fingerprint "> type</ dfn > and < dfn data-dfn-for =
2614- "fingerprint "> value</ dfn > . Each of these are < a > string</ a > s, but
2615- their syntax and semantics are platform-defined.
2616- </ p >
2617- </ section >
2618- </ section >
26192392 < section >
26202393 < h2 >
26212394 Installable web applications
0 commit comments