Intent to Ship: Media Session API: enterpictureinpicture action

282 views
Skip to first unread message

Tommy Steimel

unread,
Oct 4, 2023, 6:35:28 PM10/4/23
to blink-dev

Contact emails

ste...@chromium.org, libe...@chromium.org


Explainer

https://github.com/w3c/mediasession/issues/294


Specification

https://github.com/w3c/mediasession/pull/295


API spec

Yes


Summary

Adds an 'enterpictureinpicture' action to the Media Session API. Websites can register an action handler which can be used to open a Picture-in-Picture or Document Picture-in-Picture window.


Blink component

Blink>Media>Session


TAG review

This small addition to the Media Session API doesn’t seem to qualify for a TAG review. 

Note that one for video conferencing actions was approved previously at https://github.com/w3ctag/design-reviews/issues/608


TAG review status

N/A

Debuggability

No DevTools changes are required, treated like any other attribute/enum.


Risks


Interoperability and Compatibility
It’s low risk as it's a small addition to an existing API that both Gecko and WebKit approve of.


Signals from other implementations (Gecko, WebKit): 

Gecko: No signal

WebKit: No signal - Generally positive feedback when discussed in the Media WG, but no official position pursued due to the small nature of the change

Web / Framework developers: Positive 

(https://github.com/WICG/document-picture-in-picture/issues/96)

The above citation is one example amongst many where developers want to be able to initiate pip through other means (e.g. automatically when switching tabs or when a picture-in-picture button is pressed in browser UI), and having a media session action for this enables the UA to allow the website to open a picture-in-picture window in these cases


Ergonomics:

N/A: small addition to an enum of an existing API


Activation:

Web developers will be able to simply set/unset a media session action handler for “enterpictureinpicture” to make use of this change. When the action name is not supported, it raises a TypeError which can be caught to detect feature support.


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

https://wpt.fyi/results/mediasession/setactionhandler.html 


Tracking bug

https://crbug.com/1457056


Estimated milestones

Shipping on desktop 120


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6245717716238336


Chris Harrelson

unread,
Oct 5, 2023, 6:55:09 PM10/5/23
to Tommy Steimel, Jason Robbins, blink-dev
Hi,

Please update your chromestatus entry to trigger the other 5 review categories for this intent. I think it's probably the case that you ended up with the wrong feature category and need to update it, sorry for any confusion. @Jason Robbins also.

--
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/CAE-AwAr3XMLjkds47PAf5_n-m%2Bv5mLXKBbX5211E_qs-W3sqTA%40mail.gmail.com.

Yoav Weiss

unread,
Oct 11, 2023, 10:43:07 AM10/11/23
to blink-dev, chri...@google.com, blink-dev, Tommy Steimel, jrob...@google.com
On Friday, October 6, 2023 at 12:55:09 AM UTC+2 chri...@google.com wrote:
Hi,

Please update your chromestatus entry to trigger the other 5 review categories for this intent. I think it's probably the case that you ended up with the wrong feature category and need to update it, sorry for any confusion. @Jason Robbins also.

On Wed, Oct 4, 2023 at 3:35 PM 'Tommy Steimel' via blink-dev <blin...@chromium.org> wrote:

Can you explain what this action does and how developers are likely to use it?
 

What's blocking the PR from landing?
 
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Tommy Steimel

unread,
Oct 11, 2023, 5:27:04 PM10/11/23
to Yoav Weiss, blink-dev, chri...@google.com, jrob...@google.com
On Wed, Oct 11, 2023 at 7:43 AM Yoav Weiss <yoav...@chromium.org> wrote:


On Friday, October 6, 2023 at 12:55:09 AM UTC+2 chri...@google.com wrote:
Hi,

Please update your chromestatus entry to trigger the other 5 review categories for this intent. I think it's probably the case that you ended up with the wrong feature category and need to update it, sorry for any confusion. @Jason Robbins also.

On Wed, Oct 4, 2023 at 3:35 PM 'Tommy Steimel' via blink-dev <blin...@chromium.org> wrote:

Can you explain what this action does and how developers are likely to use it?

Sure. In general, websites can register handlers on the Media Session for various actions (e.g. "nexttrack"). The UA can then trigger those actions on the page via browser UI or other user actions (e.g. a next track button in the browser native UI or if the user presses the "next track" key on their keyboard). For the case of 'enterpictureinpicture', the website would register a handler for that action and the UA can trigger it when appropriate (e.g. Chrome has a picture-in-picture button in its global media controls UI). The website can use that handler to call requestPictureInPicture on a video element or request a document picture-in-picture window.
 
 

What's blocking the PR from landing?

I was waiting on review from the other Media Session author. I pinged them today and have landed the PR.

Yoav Weiss

unread,
Oct 12, 2023, 12:29:20 AM10/12/23
to Tommy Steimel, blink-dev, chri...@google.com, jrob...@google.com
LGTM1

Chris Harrelson

unread,
Oct 12, 2023, 12:01:54 PM10/12/23
to Yoav Weiss, Tommy Steimel, blink-dev, jrob...@google.com
Are there official and up-to-date standards positions from Firefox and Webkit about picture-in-picture in general? (setting aside document picture-in-picture). The Mozilla position from quite a while ago is "defer". If not, and you think their stance might have changed, please file a new position request for picture-in-picture generally.

Tommy Steimel

unread,
Oct 12, 2023, 12:44:34 PM10/12/23
to Chris Harrelson, François Beaufort, Yoav Weiss, blink-dev, jrob...@google.com
Good question. +François Beaufort who is the editor of the video picture-in-picture spec who might have more insight

François Beaufort

unread,
Oct 13, 2023, 3:34:22 AM10/13/23
to Tommy Steimel, Chris Harrelson, Yoav Weiss, blink-dev, jrob...@google.com
Last position from Mozilla is still "defer" despite developers asking for reconsiderations over the years. See https://mozilla.github.io/standards-positions/#picture-in-picture

Picture-in-Picture was shipped in Safari 13.1. See https://developer.apple.com/documentation/safari-release-notes/safari-13_1-release_notes

Daniel Bratell

unread,
Oct 13, 2023, 8:19:00 AM10/13/23
to François Beaufort, Tommy Steimel, Chris Harrelson, Yoav Weiss, blink-dev, jrob...@google.com

LGTM2

(For some reason your chromestatus entry has two "Enterprise" and no "Debuggability" shipping bullets, @jrobbins?)

/Daniel

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/CAPpwU5L5JscxLrVmyOzsKweDSTc1gb1gikAeQ%2B%3Des3vFGbxenw%40mail.gmail.com.

Chris Harrelson

unread,
Oct 13, 2023, 1:31:01 PM10/13/23
to Daniel Bratell, François Beaufort, Tommy Steimel, Yoav Weiss, blink-dev, jrob...@google.com
LGTM3

Thank you for the updated position information.

Reply all
Reply to author
Forward
0 new messages