Intent to Experiment: Page Embedded Permission Control

317 views
Skip to first unread message

Penelope McLachlan

unread,
May 16, 2024, 1:21:21 PMMay 16
to blink-dev

Contact emails

andy...@google.com, pjmcl...@google.com, eng...@google.com


Explainer

https://github.com/WICG/PEPC/blob/main/explainer.md


Specification

none


Summary

Provide a new HTML element that interacts with the permission flow. The permission prompt is currently triggered directly from JS without the user agent having any strong signal of the user's intent. Having an in-content element that the user uses to trigger the permission flow allows for improved permission prompt UX for users as well as a recovery path from the "denied" permission state for sites.


Explainer: https://github.com/WICG/PEPC/blob/main/explainer.md


This Origin Trial focuses only on the use of the control for camera/microphone permissions.


Blink component

Chromium Public Trackers > Chromium > Internals > Permissions > PermissionElement


TAG review

None


TAG review status

Pending


Risks


Interoperability and Compatibility

There is risk that this feature fails to be adopted by other browsers, though we believe we can address non-supportive signal from other vendors


Gecko: neutral


WebKit: Initial Oppose (https://github.com/WebKit/standards-positions/issues/270), we are addressing feedback. Some concerns will require experimental data from OT implementers to address, and this is a goal of the Origin Trial.


Web developers:

Positive - several first and third party partners are committed to experimenting with the API and have implementations ready for when the OT launches.  


Other signals:


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? 

None



Goals for experimentation

  • Solicit more informed Web developer feedback to validate the element API shape & functionality, including styling restrictions, specific to use of the Page-embedded Permission Control for Camera / Mic. 
  • Validate developer use cases 
  • Ensure that the feature works correctly in conjunction with adjacent features.
  • Ensure that the feature provides a better overall UX for permission interactions by allowing users a recovery path and less interruptions.
  • Check metrics against existing permission usage as a baseline, for example, investigate any significant increases or decreases in overall block/accept rates in OT to ensure users are having a safe, easy to use experience 


Debuggability

None


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No - OT will not include Android & Android WebView



Is this feature fully tested by web-platform-tests?

Yes - https://wpt.fyi/results/html/semantics/permission-element?label=experimental&label=master&aligned 


Flag name on chrome://flags

none


Finch feature name

PermissionElement


Tracking bug

https://issues.chromium.org/issues/40275129


Launch bug

https://launch.corp.google.com/launch/4320707/approver/14626


Estimated milestones

Shipping OT on desktop

126



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5125006551416832


Links to previous Intent discussions

Ready for Developer Testing : 

https://groups.google.com/a/chromium.org/g/blink-dev/c/D-mE5qIlkWY/m/TTEImcBnAAAJ 

Intent to prototype: 

https://groups.google.com/a/chromium.org/g/blink-dev/c/TGsrhP4ref0/m/bHFj3id9AgAJ



--
Penny McLachlan
(she/her)

Senior Product Manager
pjmcl...@google.com
Google Chrome 

Mike Taylor

unread,
May 16, 2024, 1:23:51 PMMay 16
to Penelope McLachlan, blink-dev

Hi!

I see a start milestone of 126 - do you have a desired milestone end date?

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFuQ4YuA5Fskj1QyrzL%2BXpZdQGe_vCu-wQjgqqhDwazC0Rr4FA%40mail.gmail.com.

Penelope McLachlan

unread,
May 16, 2024, 1:27:22 PMMay 16
to Mike Taylor, blink-dev
Sorry for not including that! 

Origin trial desktop last: 131 

Mike Taylor

unread,
May 16, 2024, 1:28:13 PMMay 16
to Penelope McLachlan, blink-dev

Thanks - LGTM to experiment from M126 to M131 inclusive.

Mike Taylor

unread,
May 16, 2024, 1:29:48 PMMay 16
to Penelope McLachlan, blink-dev

Sorry - got too excited. LGTM to experiment % requesting the Security, Privacy, Debuggability bits.

Penelope McLachlan

unread,
Sep 19, 2024, 9:53:49 AMSep 19
to blink-dev

Intent to Continue Experiment: Page Embedded Permission Control

(early draft) https://pr-preview.s3.amazonaws.com/otherdaniel/PEPC/pull/31.html 


Summary

The first OT for the <permission> HTML element exposed only support for Camera / Mic permissions, which is slated to end with M131 / 19 FEB 2025. We would like to extend the OT to allow for an evolved testing, since we are adding support for a new permission type “geolocation” which will not be ready for testing until m132 (stable release Jan 7, 2025).

Blink component

Chromium Public Trackers > Chromium > Internals > Permissions > PermissionElement


TAG review

none


TAG review status

pending


Chromium Trial Name

FetchLaterAPI


Origin Trial documentation link

https://chromium.googlesource.com/chromium/src/+/main/docs/experiments/fetch-later.md


WebFeature UseCounter name

kFetchLater


Risks


Interoperability and Compatibility

There is risk that this feature fails to be adopted by other browsers, though we believe we can address non-supportive signal from other vendors


Gecko: neutral


WebKit: Initial Oppose (https://github.com/WebKit/standards-positions/issues/270), we are addressing feedback. Some concerns will require experimental data from OT implementers to address, and this is a goal of the Origin Trial.


Web developers:

Positive - several first and third party partners are committed to experimenting with the API and have implementations ready for when the OT launches.  


Other signals:


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? 

None


Reason this experiment is being extended

The OT originally spans from 126-131, we would like to extend it starting from 132-134 (inclusive), as there is new functionality being added to the existing trial to support the addition of support for geolocation permission (<permission type=”geolocation”>), as well as to give additional partners chances to experiment with the existing <permission> element OT support for camera & mic permission types. The new functionality will not be ready for OT until the stable release of 132. 


Ongoing technical constraints

Permission types other than camera, mic, and geolocation (new in 132) are not yet supported in the <permission> element OT. 


Debuggability

none


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Windows, Mac, Linux, & ChromeOS only. 


Is this feature fully tested by web-platform-tests?

Yes


Flag name on chrome://flags

none


Finch feature name

PermissionElement


Requires code in //chrome?

True

Shipping OT on desktop

126

Initial OT end (desktop)

131

Requested extension (desktop)

131

Requested extension end (desktop)

134

Reply all
Reply to author
Forward
0 new messages