Skip to content

Permissions-Policy - Wrongly subsumes Feature-Policy #25950

@ddbeck

Description

@ddbeck

What type of issue is this?

Incorrect support data (example: BrowserX says "86" but support was added in "40")

What information was incorrect, unhelpful, or incomplete?

BCD records the Feature-Policy header as an alternative name for Permissions-Policy, despite Feature-Policy having a distinct, (now non-standard) syntax. This prevents web-features from computing a plausible status for both Feature-Policy and Permissions-Policy.

What browsers does this problem apply to, if applicable?

Chromium (Chrome, Edge 79+, Opera, Samsung Internet)

Luckily, this only affects Chromium-based browsers.

That said, all browsers seem to support the permissions policy specification's allow attribute on <iframe> elements but, if I understand it correctly, the attribute syntax (which differs from the header) is compatible between the two (feature policy spec, permissions policy spec).

What did you expect to see?

Entries for both http.headers.Feature-Policy and http.headers.Permissions-Policy (and possibly for the associated web APIs, see API names below for further discussion).

Did you test this? If so, how?

No, but it's not a support problem—I trust that the data is accurate—just that the representation of the data doesn't conform to the way other similar API changes are represented in BCD.

Other sources, such as caniuse, separately represent feature policy and permissions policy.

The change in syntax is well attested.

Can you link to any release notes, bugs, pull requests, or MDN pages related to this?

Downstream consumer PR that illustrates the problem with the current data: web-platform-dx/web-features#2661

Implementation bugs:

Do you have anything more you want to share?

Content considerations: MDN documents this as Permissions-Policy. This is probably fine. However, if we were to split Feature-Policy from Permissions-Policy, then the MDN reference pages would no longer report anything about the Feature-Policy support. To cover these facts, it would probably be necessary to do something like include a section in the PP pages mentioning the former FP header (perhaps including an extra compat table) or add notes to the PP BCD mentioning the succession from FP to PP.

API names: The little-used web API could be represented under the spec's permissions policy naming, with the feature policy names as alternative_name values. This is probably technically correct, but I'm not certain if it's worth doing: no browser (including Chrome) actually ships it under the new names.

Metadata

Metadata

Assignees

Labels

data:apiCompat data for Web APIs. https://developer.mozilla.org/docs/Web/APIdata:httpCompat data for HTTP features. https://developer.mozilla.org/docs/Web/HTTPp2High priority – Community PRs highly encouraged.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions