Re: [w3c/manifest] Adding file_handlers and launch consumer (#1005)

@evanstade commented on this pull request.



> +          "file handler">action</dfn></code> member is a <a>string</a> that
+          represents a relative URL of the [=manifest/start_url=] origin that
+          is [=manifest/within scope=] of a [=Document/processed manifest=].
+          This URL will be navigated to in the steps to [=execute a file
+          handler launch=].
+        </p>
+      </section>
+      <section>
+        <h3>
+          `name` member
+        </h3>
+        <p>
+          The [=file handler's=] <code><dfn data-dfn-for=
+          "file handler">name</dfn></code> member is a <a>string</a> that
+          represents a name to be provided to the user's operating system for
+          use with "Open with..." UX flows. This MAY be replaced by the user

What I meant was that this is not /just/ for use with "open with..." flows. Broadly speaking, it's used in OS surfaces. For example, it can be displayed in a file explorer to help ID a file before you ever right click on anything. And it's probably worth making it obvious what this is a name /of/, i.e. the file type. Therefore it's mostly useful for custom (app-specific) file types.

> +          The [=file handler=]'s <code><dfn data-dfn-for=
+          "file handler">accept</dfn></code> member is a <a>dictionary</a>
+          mapping [=MIME types=] to a list of extensions. Extensions have to be
+          strings that start with a "." and only contain [=valid suffix code
+          points=]. Additionally extensions are limited to a length of 16 code
+          points.
+        </p>
+        <p>
+          In addition to complete [=MIME types=], "*" can be used as the
+          subtype of a MIME type to match, for example, all image formats with
+          "image/*". However, the top-level type MUST be defined in [[rfc2046]]
+          and listed in [[IANA_MEDIA_TYPES]].
+        </p>
+        <p>
+          Websites MUST always provide both [=MIME types=] and file extensions
+          for each [=file handler/accept=] entry. This format is required by

> On linux we use both - we associate with the mime-type, and we restrict the matches to the extension. I tried to update this to be a little clearer... let me know what you think.

Ah, yea, it seems on Linux both have to match.

> +        </p>
+      </section>
+      <section data-cite="MIMETYPE">
+        <h3>
+          `accept` member
+        </h3>
+        <p>
+          The [=file handler=]'s <code><dfn data-dfn-for=
+          "file handler">accept</dfn></code> member is a <a>dictionary</a>
+          mapping [=MIME types=] to a list of extensions. Extensions have to be
+          strings that start with a "." and only contain [=valid suffix code
+          points=]. Additionally extensions are limited to a length of 16 code
+          points.
+        </p>
+        <p>
+          In addition to complete [=MIME types=], "*" can be used as the

`xdg-mime install` actually won't do anything with "image/png": [ ".txt" ] because these mime types/extensions are already mapped. OTOH `xdg-mime install` will create a new mapping in the mime type database for "image/mycustomformat": [".mycf"].

> +    </section>
+    <section data-cite="file-system-access">
+      <h2>
+        <dfn>Execute a file handler launch</dfn>
+      </h2>
+      <p>
+        A {{Window/window}} has an associated {{LaunchConsumer}} <dfn>assigned
+        launch consumer</dfn>.
+      </p>
+      <p>
+        A {{Window/window}} has an associated [=list=] of {{LaunchParams}}
+        <dfn>unconsumed launch params</dfn>.
+      </p>
+      <p>
+        When a [=file type=] is registered with a web app and one or more of
+        these registered files are launched on the platform, run the following

This section has overlap with this proposal: https://github.com/WICG/sw-launch/blob/main/launch_handler.md#launchqueue-and-launchparams-interfaces

@alancutter ptal

-- 
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/pull/1005#discussion_r736666966

Received on Tuesday, 26 October 2021 15:39:11 UTC