Intent to Ship: EME persistent-usage-record session

158 views
Skip to first unread message

Xiaohan Wang (王消寒)

unread,
Jul 20, 2020, 1:07:09 PM7/20/20
to blink-dev, alst...@chromium.org, eri...@chromium.org

Contact emails

xhw...@chromium.org


Spec

Latest editor’s draft of EME spec: https://w3c.github.io/encrypted-media/


The feature to ship is described at: https://w3c.github.io/encrypted-media/#dom-mediakeysessiontype-persistent-usage-record


Tag review: This feature was discussed extensively during the previous Tag review https://github.com/w3ctag/design-reviews/issues/73, which was closed without concerns (“... we no longer have a concern with persistent usage record”).


Summary

Support a new MediaKeySessionType “persistent-usage-record session”, for which the license and key(s) are not persisted and for which a record of key usage is persisted when the keys available within the session are destroyed. See the spec for more details.


Link to “Intent to Prototype” blink-dev discussion

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


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

This is an optional feature in the spec. The EME API around persistent-usage-record session will be enabled on all platforms. The actual support by CDMs will vary by platform and by key system supported.


Risks

Interoperability and Compatibility

Interoperability risk: Low. We have received a lot of public support:


Compatibility risk is the likelihood that a change will break existing web content loaded in Chromium. Since this feature adds a new session type to the Encrypted Media Extensions spec that nobody is currently using, there should be no compatibility risks. Use of this API is entirely optional, so there is no impact on existing applications.


Ergonomics

N/A


Activation

The APIs will be easy to use by developers immediately. However, as most EME features, the license server needs to be updated to support this feature.


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

  • https://wpt.fyi/results/encrypted-media, search for persistent-usage-record

  • In Chromium, the Clear Key key system doesn’t not support persistent-usage-record session directly, so it’s not possible to fully test it via web-platform-tests. However, there are Chromium browser tests covering the feature using an “External Clear Key” key system which is only used for testing.


Entry on the feature dashboard

https://chromestatus.com/feature/5638708017496064


Mounir Lamouri

unread,
Jul 20, 2020, 8:25:32 PM7/20/20
to Xiaohan Wang (王消寒), blink-dev, alst...@chromium.org, eri...@chromium.org
This is one of the few features hand picked to be added to the EME specification as part of the Media WG charter and was therefore heavily scrutinised. It has cross-browser support and has been pushed by key websites. This LGTM (non-owner)! :)

--
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/CAF1j9YOhQaSkvS1cLZVvpLw7rXcayJTg2%2BPDoYfKAQPmwV%2BOFg%40mail.gmail.com.

Manuel Rego Casasnovas

unread,
Jul 21, 2020, 6:00:32 AM7/21/20
to Xiaohan Wang (王消寒), blink-dev, alst...@chromium.org, eri...@chromium.org


On 20/07/2020 19:06, Xiaohan Wang (王消寒) wrote:
> Tag review: This feature was discussed extensively during the previous
> Tag review https://github.com/w3ctag/design-reviews/issues/73, which was
> closed without concerns (“... we no longer have a concern with
> persistent usage record”).

There was a comment by dbaron on the tag review in June 11th
(https://github.com/w3ctag/design-reviews/issues/73#issuecomment-642339150)
asking to fill a new TAG review or provide the template information in a
comment. Has anything happen regarding that?

Bye,
Rego
pEpkey.asc

Daniel Bratell

unread,
Jul 23, 2020, 11:28:51 AM7/23/20
to Manuel Rego Casasnovas, Xiaohan Wang (王消寒), blink-dev, alst...@chromium.org, eri...@chromium.org
In addition to Rego's question, I miss the explainer for this intent.
That makes it harder for everyone to understand the background, purpose
and goal of the change.

/Daniel

Chris Harrelson

unread,
Jul 23, 2020, 3:28:16 PM7/23/20
to Daniel Bratell, Manuel Rego Casasnovas, Xiaohan Wang (王消寒), blink-dev, alst...@chromium.org, eri...@chromium.org
Also, please use the browser signals format specified in the latest intent-to-ship template, that focuses on official signals from non-Chromium implementations.

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

Xiaohan Wang (王消寒)

unread,
Jul 23, 2020, 4:53:43 PM7/23/20
to Chris Harrelson, Daniel Bratell, Manuel Rego Casasnovas, blink-dev, alst...@chromium.org, eri...@chromium.org
Thanks for the comments!


Daniel/Chris: I updated the intent-to-ship with the link to the Explainer doc and new "Signals from other implementations" section.

----------------------------------------------

Tag review: 

This feature was discussed extensively during the previous Tag review https://github.com/w3ctag/design-reviews/issues/73, which was closed without concerns (“... we no longer have a concern with persistent usage record”).


Summary

Support a new MediaKeySessionType “persistent-usage-record session”, for which the license and key(s) are not persisted and for which a record of key usage is persisted when the keys available within the session are destroyed. See the spec for more details.


Link to “Intent to Prototype” blink-dev discussion

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


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

This is an optional feature in the spec. The EME API around persistent-usage-record session will be enabled on all platforms. The actual support by CDMs will vary by platform and by key system supported.


Risks

Interoperability and Compatibility

Interoperability risk: Low. 


Signals from other implementations (Gecko, WebKit):


Web / Framework developers:

    • The equivalent feature is also supported natively by Windows Media Foundation.


    Compatibility risk is the likelihood that a change will break existing web content loaded in Chromium. Since this feature adds a new session type to the Encrypted Media Extensions spec that nobody is currently using, there should be no compatibility risks. Use of this API is entirely optional, so there is no impact on existing applications.


    Ergonomics

    N/A


    Activation

    The APIs will be easy to use by developers immediately. However, as most EME features, the license server needs to be updated to support this feature.


    Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

    • https://wpt.fyi/results/encrypted-media, search for persistent-usage-record

    • In Chromium, the Clear Key key system doesn’t not support persistent-usage-record session directly, so it’s not possible to fully test it via web-platform-tests. However, there are Chromium browser tests covering the feature using an “External Clear Key” key system which is only used for testing.


    Entry on the feature dashboard

    https://chromestatus.com/feature/5638708017496064

    Chris Harrelson

    unread,
    Jul 23, 2020, 4:57:32 PM7/23/20
    to Xiaohan Wang (王消寒), Daniel Bratell, Manuel Rego Casasnovas, blink-dev, alst...@chromium.org, eri...@chromium.org
    On Thu, Jul 23, 2020 at 1:53 PM Xiaohan Wang (王消寒) <xhw...@chromium.org> wrote:
    Thanks for the comments!


    Daniel/Chris: I updated the intent-to-ship with the link to the Explainer doc and new "Signals from other implementations" section.

    Thanks for doing that. Could you also file a request for standards position here for Mozilla and link to it? It's ok to link to other things and count them as "no signal", but you should also file a request for a standards position, which gives them an opportunity to surface their official view.

    Xiaohan Wang (王消寒)

    unread,
    Jul 23, 2020, 5:58:24 PM7/23/20
    to Chris Harrelson, Daniel Bratell, Manuel Rego Casasnovas, blink-dev, alst...@chromium.org, eri...@chromium.org
    Thanks for letting me know. Request for standards position filed here.

    Alex Russell

    unread,
    Jul 30, 2020, 3:09:44 PM7/30/20
    to blink-dev, Xiaohan Wang, Daniel Bratell, Manuel Rego, blink-dev, alst...@chromium.org, eri...@chromium.org, Chris Harrelson
    Having been part of the previous TAG review for this, I'm happy to see this resolution.

    LGTM1

    Xiaohan Wang (王消寒)

    unread,
    Jul 31, 2020, 1:56:28 PM7/31/20
    to Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org, Chris Harrelson
    Kindly ping on other owners on this. Thanks!

    Yoav Weiss

    unread,
    Aug 6, 2020, 8:30:51 AM8/6/20
    to Xiaohan Wang (王消寒), Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org, Chris Harrelson
    A couple of questions:
    * How does this feature interact with e.g. Clear-Site-Data and other browser mechanisms to clear data that sites may have stored?
    * Might be a silly question, as I'm not so familiar with EME, but is the persisted information keyed on the top level origin? Or can it be accessed across origins?

    Otherwise, the TAG review seems to be in a weird state where it's not clear to me that the folks there know you're asking for a review.

    Xiaohan Wang (王消寒)

    unread,
    Aug 6, 2020, 1:25:15 PM8/6/20
    to Yoav Weiss, Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org, Chris Harrelson
    Good questions!

    Both points are indeed covered in the current EME spec and implemented in Chromium.
    For the TAG review, sorry for the confusion. It's up to the Blink process to decide whether we need a TAG review or not, or whether we need a new TAG review if there's already one. Since we already have one which has been reviewed and has concluded, I am reusing that one for this Blink process, and I don't think we need a new TAG review. (Please let me know if you disagree.) It's my bad commenting on the existing TAG review thread, making the owners feel I was requesting a new TAG review, which isn't the case.

    Xiaohan




    Yoav Weiss

    unread,
    Aug 6, 2020, 3:14:46 PM8/6/20
    to Xiaohan Wang (王消寒), Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org, Chris Harrelson
    LGTM2

    Chris Harrelson

    unread,
    Aug 6, 2020, 3:20:08 PM8/6/20
    to Yoav Weiss, Xiaohan Wang (王消寒), Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org

    Xiaohan Wang (王消寒)

    unread,
    Aug 6, 2020, 4:36:45 PM8/6/20
    to Chris Harrelson, Yoav Weiss, Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org
    Great. Thank you so much for the discussion and approval!

    Chris Harrelson

    unread,
    Aug 6, 2020, 4:56:35 PM8/6/20
    to Xiaohan Wang (王消寒), Yoav Weiss, Alex Russell, blink-dev, Daniel Bratell, Manuel Rego, alst...@chromium.org, eri...@chromium.org
    Our pleasure. Thanks for your patience.

    Reply all
    Reply to author
    Forward
    0 new messages