Intent to ship: Media Session API: Presenting slides actions

305 views
Skip to first unread message

François Beaufort

unread,
Nov 23, 2022, 11:15:24 AM11/23/22
to blink-dev, Tommy Steimel

Contact emails

fbea...@chromium.org, ste...@chromium.org


Explainer

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


Specification

https://w3c.github.io/mediasession/#dom-mediasessionaction-previousslide

https://w3c.github.io/mediasession/#dom-mediasessionaction-nextslide


API spec

Yes


Summary

Adds "previousslide" and "nextslide" actions to the existing Media Session API.


Blink component

Blink>Media>Session


Motivation

This will enable developers of video conferencing websites to handle these actions from browser UI. For example, if the user puts their slides presentation into a picture-in-picture window, the browser could display buttons for navigating through slides. When the user clicks those, the website handles them through the Media Session API.


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: Positive (https://github.com/w3c/mediasession/pull/284#pullrequestreview-1106405304)

WebKit: Positive (https://github.com/w3c/mediasession/pull/284#issuecomment-1217526791

Web / Framework developers: Positive - The existence of the popular (100K+ users) Remote for Slides extension (https://chrome.google.com/webstore/detail/remote-for-slides/pojijacppbhikhkmegdoechbfiiibppi) proves that there is strong user demand for a (remote) slide control feature, up to the point that they would install an extension just for that.


Ergonomics:

N/A


Activation:

Web developers will be able to simply set/unset a media session action handler for “Previous Slide” and “Next Slide” to control the visibility of the button in the Picture-in-Picture window. 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/1363548


Estimated milestones

DevTrial on desktop 110

DevTrial on Android 110


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5090980649238528


Yoav Weiss

unread,
Nov 23, 2022, 12:02:28 PM11/23/22
to François Beaufort, blink-dev, Tommy Steimel
On Wed, Nov 23, 2022 at 5:15 PM 'François Beaufort' via blink-dev <blin...@chromium.org> wrote:

Contact emails

fbea...@chromium.org, ste...@chromium.org


Explainer

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


Specification

https://w3c.github.io/mediasession/#dom-mediasessionaction-previousslide

https://w3c.github.io/mediasession/#dom-mediasessionaction-nextslide


API spec

Yes


Summary

Adds "previousslide" and "nextslide" actions to the existing Media Session API.


Blink component

Blink>Media>Session


Motivation

This will enable developers of video conferencing websites to handle these actions from browser UI. For example, if the user puts their slides presentation into a picture-in-picture window, the browser could display buttons for navigating through slides. When the user clicks those, the website handles them through the Media Session API.


Neat! :)
 

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: Positive (https://github.com/w3c/mediasession/pull/284#pullrequestreview-1106405304)

WebKit: Positive (https://github.com/w3c/mediasession/pull/284#issuecomment-1217526791


Can you file for official positions? https://bit.ly/blink-signals
 

Web / Framework developers: Positive - The existence of the popular (100K+ users) Remote for Slides extension (https://chrome.google.com/webstore/detail/remote-for-slides/pojijacppbhikhkmegdoechbfiiibppi) proves that there is strong user demand for a (remote) slide control feature, up to the point that they would install an extension just for that.


Ergonomics:

N/A


Activation:

Web developers will be able to simply set/unset a media session action handler for “Previous Slide” and “Next Slide” to control the visibility of the button in the Picture-in-Picture window. 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/1363548


Estimated milestones

DevTrial on desktop 110

DevTrial on Android 110


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5090980649238528


--
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/CAPpwU5%2Bn-3MqwWueapG7K_3GoRSCJ4L1dRq6zmj%3DW2cQ2XT%2BYA%40mail.gmail.com.

Rick Byers

unread,
Nov 23, 2022, 12:15:45 PM11/23/22
to Yoav Weiss, François Beaufort, blink-dev, Tommy Steimel
Seems like a tiny addition to a well supported pattern.  LGTM1 from my perspective. 

Other comments inline

On Wed, Nov 23, 2022 at 12:02 PM Yoav Weiss <yoav...@chromium.org> wrote:


On Wed, Nov 23, 2022 at 5:15 PM 'François Beaufort' via blink-dev <blin...@chromium.org> wrote:

Contact emails

fbea...@chromium.org, ste...@chromium.org


Explainer

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


Specification

https://w3c.github.io/mediasession/#dom-mediasessionaction-previousslide

https://w3c.github.io/mediasession/#dom-mediasessionaction-nextslide


API spec

Yes


Summary

Adds "previousslide" and "nextslide" actions to the existing Media Session API.


Blink component

Blink>Media>Session


Motivation

This will enable developers of video conferencing websites to handle these actions from browser UI. For example, if the user puts their slides presentation into a picture-in-picture window, the browser could display buttons for navigating through slides. When the user clicks those, the website handles them through the Media Session API.


Neat! :)
 

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


Thanks, that's good to see. The explainer linked there was also helpful to me to quickly understand how this is used.

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: Positive (https://github.com/w3c/mediasession/pull/284#pullrequestreview-1106405304)

WebKit: Positive (https://github.com/w3c/mediasession/pull/284#issuecomment-1217526791


Can you file for official positions? https://bit.ly/blink-signals

Personally I'd be also fine calling this "no signals" - it's a very tiny addition and Gecko and WebKit already support the general pattern.

In general I feel like we should have some pattern for making small tweaks to exposed APIs that doesn't pollute these standards position repositories with noise. Yoav, WDYT?

Web / Framework developers: Positive - The existence of the popular (100K+ users) Remote for Slides extension (https://chrome.google.com/webstore/detail/remote-for-slides/pojijacppbhikhkmegdoechbfiiibppi) proves that there is strong user demand for a (remote) slide control feature, up to the point that they would install an extension just for that.


Nice signal!
 

Ergonomics:

N/A


Activation:

Web developers will be able to simply set/unset a media session action handler for “Previous Slide” and “Next Slide” to control the visibility of the button in the Picture-in-Picture window. 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 


Will someone be adding the two new actions to this test? You'll probably want the new ones in a separate test case.

The test is pretty trivial - just makes sure actions can be added, without verifying that callbacks get invoked. But IMHO I wouldn't personally see building an automation pipeline for testing the callbacks as high priority.

Tracking bug

https://crbug.com/1363548


Estimated milestones

DevTrial on desktop 110

DevTrial on Android 110


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5090980649238528


--
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/CAPpwU5%2Bn-3MqwWueapG7K_3GoRSCJ4L1dRq6zmj%3DW2cQ2XT%2BYA%40mail.gmail.com.

--
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.

Yoav Weiss

unread,
Nov 23, 2022, 12:21:48 PM11/23/22
to Rick Byers, François Beaufort, blink-dev, Tommy Steimel
I'm fine with calling this "no official signal" while pointing to the PR comments.
I was mostly trying to avoid them feeling we're misrepresenting their opinions.

François Beaufort

unread,
Nov 24, 2022, 4:03:22 AM11/24/22
to Yoav Weiss, Rick Byers, blink-dev, Tommy Steimel
 As suggested, I've updated https://chromestatus.com/feature/5090980649238528 with "No signal" for both Safari and Firefox.
 

Web / Framework developers: Positive - The existence of the popular (100K+ users) Remote for Slides extension (https://chrome.google.com/webstore/detail/remote-for-slides/pojijacppbhikhkmegdoechbfiiibppi) proves that there is strong user demand for a (remote) slide control feature, up to the point that they would install an extension just for that.


Nice signal!
 

Ergonomics:

N/A


Activation:

Web developers will be able to simply set/unset a media session action handler for “Previous Slide” and “Next Slide” to control the visibility of the button in the Picture-in-Picture window. 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 


Will someone be adding the two new actions to this test? You'll probably want the new ones in a separate test case.

Rick Byers

unread,
Nov 24, 2022, 10:54:03 AM11/24/22
to François Beaufort, Yoav Weiss, blink-dev, Tommy Steimel
Great, thanks. For others who are curious, Mozilla confirmed they don't expect position requests for trivial things like this.

Yoav, any other concerns?

Web / Framework developers: Positive - The existence of the popular (100K+ users) Remote for Slides extension (https://chrome.google.com/webstore/detail/remote-for-slides/pojijacppbhikhkmegdoechbfiiibppi) proves that there is strong user demand for a (remote) slide control feature, up to the point that they would install an extension just for that.


Nice signal!
 

Ergonomics:

N/A


Activation:

Web developers will be able to simply set/unset a media session action handler for “Previous Slide” and “Next Slide” to control the visibility of the button in the Picture-in-Picture window. 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 


Will someone be adding the two new actions to this test? You'll probably want the new ones in a separate test case.


Figured, thanks.

Yoav Weiss

unread,
Nov 24, 2022, 11:55:49 AM11/24/22
to Rick Byers, François Beaufort, blink-dev, Tommy Steimel
LGTM1

No further concerns :)

Rick Byers

unread,
Nov 24, 2022, 3:33:56 PM11/24/22
to Yoav Weiss, François Beaufort, blink-dev, Tommy Steimel
On Thu, Nov 24, 2022 at 11:55 AM Yoav Weiss <yoav...@chromium.org> wrote:
LGTM1

That's actually an LGTM2 

Yoav Weiss

unread,
Nov 24, 2022, 3:41:30 PM11/24/22
to Rick Byers, François Beaufort, blink-dev, Tommy Steimel
Indeed!!

Philip Jägenstedt

unread,
Nov 30, 2022, 11:55:27 AM11/30/22
to Yoav Weiss, Rick Byers, François Beaufort, blink-dev, Tommy Steimel
Reply all
Reply to author
Forward
0 new messages