Bug 158205 - Implement Web Application Manifest
Summary: Implement Web Application Manifest
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Nobody
Keywords: InRadar
Depends on:
Reported: 2016-05-30 07:36 PDT by Addy Osmani
Modified: 2020-02-16 08:02 PST (History)
27 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Addy Osmani 2016-05-30 07:36:57 PDT
This specification defines a JSON-based manifest, which provides developers with a centralized place to put metadata associated with a web application. This includes, but is not limited to, the web application's name, links to icons, as well as the preferred URL to open when the user launches the web application. The manifest also allows developers to declare a default orientation for their web application, as well as how the application is to be displayed by the user agent (e.g., in fullscreen).

Using this meta data, user agents can provide developers with means to create user experiences that are more comparable to that of a native application.

Specification: https://w3c.github.io/manifest/

Support in other browsers:
Chrome: implemented on desktop and Android
Firefox: Partially implemented in Firefox for Android)
Edge: public support

WebKit (specifically, Mobile Safari on iOS) has previously been a leader in allowing web developers greater customisation over the add to homescreen experience. This included the ability to setup a custom splashscreen, something that has broken in recent versions of mobile safari (per https://gist.github.com/tfausak/2222823#gistcomment-1730484). Rather than focusing on older, non-standards track implementations I think there's great value in shifting to a standards-track application manifest as a source for this type of data. It would allow web developers to ensure a high-quality web app experience is delivered on iOS as well as other platforms supporting this feature.
Comment 1 Radar WebKit Bug Importer 2017-10-24 14:19:34 PDT
Comment 2 Brian Burg 2017-10-24 14:21:51 PDT
Comment 3 Dean Jackson 2019-12-04 16:42:04 PST
Is there anything left to do here? There was a big update to our manifest support in iOS 11, which all happened in Safari code, not WebKit code.

I might close this and someone can re-open a new bug if there are specific features missing.
Comment 4 Thomas Steiner 2019-12-04 16:54:29 PST
Thanks for working on this. It seems like icon support is still completely missing. Here’s a test app: https://ios-a2hs-demo.glitch.me/. Safari still uses the screenshotted mini icon, but none of the provided ones. Please note that maskable icons are a thing now: https://w3c.github.io/manifest/#purpose-member. This makes it possible to specify an icon that can be masked, for example with iOS’ rounded corners without risking to lose important details.
Comment 5 Thomas Steiner 2019-12-04 17:01:17 PST
Related: https://bugs.webkit.org/show_bug.cgi?id=183937.