Re: [w3c/manifest] Manifest processing should not be a function of document URL (#668)

This (the dependence on the document) goes up a bit higher than I previously thought. I'm trying to update the spec to basically allow a web app to be installed directly through its manifest URL (not from within a document context at all), which is how Microsoft Store PWAs work, as well as Google's WebAPKs, and any future "install app directly from a store page" type of installation. Currently, this isn't really allowed.

In addition to the "steps for processing a manifest" (fixed above):

- The "steps to install the web application" uses:
  - The Window, to fire the `appinstalled` event (this isn't needed if there is no document).
  - Optionally using the Document to get metadata if there is no manifest (this is irrelevant when installing an app with a known manifest).
  - Registering a Service Worker with the Document (this is the hardest thing to fix, but it can surely be done against the start URL or scope instead?).
- The "steps for obtaining a manifest" uses:
  - The Document, for obtaining the manifest URL (this isn't needed if we're installing directly from a manifest URL).
  - The Document's origin (terminate if it is an "opaque origin") (this isn't needed if there is no document).
  - The Document, to check whether it is same-origin as the start_url (this isn't needed if there is no document).

I think the above algorithms can be rewritten in the following way:

1. The "steps for obtaining a manifest" should be split into two: one for obtaining a manifest URL from a document, and one for obtaining a manifest from a manifest URL.
2. The "steps to install the web application" should similarly have two versions: one that is applied within a top-level browsing context, and one that is given a manifest URL as input.

These direct-install user agents can thus use the non-document versions of these algorithms.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/manifest/issues/668#issuecomment-397519446

Received on Friday, 15 June 2018 05:43:44 UTC