From afe47976a5fc53691e1f890f50464404180536c8 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Sun, 19 Nov 2023 17:41:25 -0500 Subject: [PATCH] Add Permissions Registry back to main document (#426) --- index.html | 400 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 393 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 6fbe783..97de8c4 100644 --- a/index.html +++ b/index.html @@ -48,13 +48,9 @@ }, mdn: true, // See https://respec.org/docs/#xref for usage. - xref: "web-platform", - localBiblio: { - "permissions-registry": { - title: "Permissions Registry", - href: "https://w3c.github.io/permissions-registry/", - status: "unofficial", - } + xref: { + profile: "web-platform", + specs: ["permissions-policy", "w3c-process"], }, caniuse: { feature: "permissions-api", @@ -1292,6 +1288,396 @@

+
+

+ Permissions Registry +

+
+

+ Purpose +

+

+ This [=W3C Registry=] provides a centralized place to find the [=policy-controlled + features=] and/or [=powerful features=] of the web platform. Through the [=change + process=] it also helps assure permissions in the platform are consistently specified + across various specifications. +

+

+ By splitting the registry into standardized permissions and provisional permissions, the + registry also provides a way to track the status of these features. +

+
+
+

+ Change Process +

+

+ The change process for adding and/or updating this registry is as follows: +

+
    +
  1. If necessary, add a "Permissions Policy" section to your specification which includes + the following: +
      +
    1. The string that identifies the policy controlled feature (e.g., + `"super-awesome"`). Make sure the string is linkable by wrapping it a [^dfn^] + element. +
    2. +
    3. The [=policy-controlled feature/default allowlist=] value (e.g. `'self'`). + +
    4. +
    +
  2. +
  3. Determine if your feature meets the definition of a [=powerful feature=] (i.e., + requires [=express permission=] to be used). If it does: +
      +
    1. [=Specifies a powerful feature|Specify a powerful feature=] in your specification + in conformance with the [[[Permissions]]] specification. +
    2. +
    +
  4. +
  5. Modify either the [=table of standardized permissions=] or the [=table of provisional + permissions=] filling out each column with the required information. +
  6. +
  7. Submit a pull request to the Powerful + Features Registry Repository on GitHub with your changes. The maintainers of the + repository will review your pull request and check that everything integrates properly. +
  8. +
+
+
+

+ Registry table of standardized permissions +

+

+ For a permission to appear in the table of standardized permissions, and thus be + considered a standardized permission, it needs to meet the following criteria: +

+
    +
  • Implemented and demonstrably interoperable in at least two browser engines (e.g., has + accompanying Web Platform Tests). +
  • +
  • Is specified in published as [=technical report=] by a W3C [=Working Group=] with + maturity of [=first public working draft=] or above, or is published by the WHATWG as a standard. +
  • +
+

+ Each [=permission=] is identified by a unique literal string. In the case of + [[[Permissions-Policy]]], the string identifies a [=policy-controlled features=]. + Similarly, in the [[[Permissions]]] specification the string identifies a [=powerful + feature=]. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Table of standardized + permissions of the web platform +
+ Identifying string + + Is [=policy-controlled feature=]? + + Is [=powerful feature=]? + + Specification + + Implementations +
+ Chromium + + Gecko + + WebKit +
+ "geolocation" + + YES + + YES + + [[[geolocation]]] + + YES + + YES + + YES +
+ "[=notifications=]" + + NO + + YES + + [[[NOTIFICATIONS]]] + + YES + + YES + + YES +
+ [="push"=] + + NO + + YES + + [[[push-api]]] + + YES + + YES + + YES +
+ "web-share" + + YES + + NO + + [[[Web-Share]]] + + YES + + YES + + YES +
+
+
+

+ Registry table of provisional permissions +

+

+ Provisional permissions are permissions that are not yet [=standardized + permission|standardized=] (i.e., they are either experimental, still in the incubation + phase, or are only implemented in a single browser engine). +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Table of provisional permissions +
+ Identifying string + + Is [=policy-controlled feature=]? + + Is [=powerful feature=]? + + Specification + + Implementations +
+ Chromium + + Gecko + + WebKit +
+ "[=accelerometer=]" + + YES + + YES + + [[[accelerometer]]] + + YES + + NO + + NO +
+ "[=window-management=]" + + YES + + YES + + [[[window-management]]] + + YES + + NO + + NO +
+ "[=local-fonts=]" + + YES + + YES + + [[[local-font-access]]] + + YES + + NO + + NO +
+
+

Privacy considerations