Skip to content

Commit

Permalink
Adds explanation about gIRA and gIA (MicrosoftEdge#806)
Browse files Browse the repository at this point in the history
  • Loading branch information
diekus authored May 2, 2024
1 parent 13b1c8d commit ae86c94
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions WebInstall/explainer_cross_domain.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@ Additionally, if the browser has an active 'Do Not Track (DNT)', equivalent 'Glo

* **`navigator.install` and manifest file's `prefer_related_applications`:** When the `related_applications` and `prefer_related_applications` key/values are present in the manifest, the UA should try to handoff the install to the prefered catalog. If this is not possible then it fallback to a default UA install.

* **`navigator.getInstalledApps` and `getInstalledRelatedApps`:** `getInstalledApps` is called from an origin and can list applications that are installed on the device originating from the current site. `getInstalledRelatedApps` on the other hand is called from a web app and returns which alternate versions of an app (platform specific versions for example) are already installed on the device.
* `getInstalledApps` can be used to change install UX in online stores if an app is already installed (changing the text on a button from "Install" to "Open" for example).
* `getInstalledRelatedApps` can be used to "mute" notifications or hide install UI for a web application if an alternate version of the app is already installed (avoid duplicate notifications if a user has a web version and a platform-specific version of the same app for exmaple).

* **`navigator.install` and `side-panel` display-mode:** Due to the evolving nature of web apps, there are different surfaces where these can be installed. If the target of `navigator.install` call has a manifest file with a `display_override` member that includes a [`side-panel` value](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/SidePanel/explainer.md), this can hint to the UA that the app can be installed as a sidebar app if supported.

## Installability criteria
Expand Down Expand Up @@ -234,6 +238,9 @@ A UA may choose to gate the `navigator.install` capability behind a requirement
* Can we remove power from the developer to query if the app is installed by offloading to the UA the knowledge of which apps are installed?
* Is there any form of attribute that can be added to a DOM element to signal this distinction/difference?

* Should `getInstalledApps` and `getInstalledRelatedApps` be merged together?
See [this issue](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/804).

## Glossary
* **installation origin**: the origin that initiates the call to the `install` method.
* **UA**: user agent.
Expand Down

0 comments on commit ae86c94

Please sign in to comment.