Skip to content

Affirmative form: MediaKeySession Interface (name the user agent / CDM)#623

Draft
marcoscaceres wants to merge 1 commit into
mainfrom
cleanup-mediakeysession
Draft

Affirmative form: MediaKeySession Interface (name the user agent / CDM)#623
marcoscaceres wants to merge 1 commit into
mainfrom
cleanup-mediakeysession

Conversation

@marcoscaceres

@marcoscaceres marcoscaceres commented Jun 18, 2026

Copy link
Copy Markdown
Member

Names the user agent or the CDM as the actor for previously passive normative requirements in the MediaKeySession Interface section, per the conformance classes in #531.

Part of #595.


💥 Error: 500 Internal Server Error 💥

PR Preview failed to build. (Last tried on Jun 18, 2026, 9:30 PM UTC).

More

PR Preview relies on a number of web services to run. There seems to be an issue with the following one:

🚨 Spec Generator - Spec Generator is the web service used to build bikeshed/ReSpec specs

🔗 Related URL

Error output:


😭  Sorry, there was an error generating the HTML. Please report this issue!
Specification: http://localhost:8082/uploads/2KxWpe/encrypted-media-respec.html?publishDate=2026-06-18&isPreview=true%3FisPreview%3Dtrue
ReSpec version: 37.1.0
File a bug: https://github.com/speced/respec/
Error: Error: Timeout: document.respec.ready didn't resolve in 8724ms.
    at evaluate (evaluate at generateHTML (file:///u/spec-generator/node_modules/respec/tools/respecDocWriter.js:228:23), <anonymous>:20:30)
    at #evaluate (file:///u/spec-generator/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:388:19)
    at async ExecutionContext.evaluate (file:///u/spec-generator/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:274:16)
    at async IsolatedWorld.evaluate (file:///u/spec-generator/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:102:16)
    at async CdpFrame.evaluate (file:///u/spec-generator/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js:359:20)
    at async CdpPage.evaluate (file:///u/spec-generator/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js:826:20)
    at async generateHTML (file:///u/spec-generator/node_modules/respec/tools/respecDocWriter.js:228:12)
    at async toHTML (file:///u/spec-generator/node_modules/respec/tools/respecDocWriter.js:97:18)
    at async invokeRespec (file:///u/spec-generator/generators/respec.js:21:44)
    at async Object.generateRespec [as respec] (file:///u/spec-generator/generators/respec.js:148:48)

This seems to be an issue with the Spec Generator service. PR Preview doesn't manage this service and so has no control over it. If you've identified an issue with it, you can report the issue to the maintainers of Spec Generator directly. Please be courteous. Thank you!

If you don't have enough information above to solve the error by yourself or if the issue doesn't seem related to Spec Generator, you can file an issue with PR Preview.

…t / CDM)

Names the actor for previously passive requirements on session lifecycle, key
status, and messages. Ambiguous actors, note-internal, and application-directed
statements are left for follow-up.

Part of #531

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the MediaKeySession Interface portion of the EME ReSpec document to rephrase previously-passive conformance requirements into affirmative statements that name the responsible actor (e.g., the user agent or the CDM), aligning with the conformance-class clarity work discussed in #531 and as part of #595.

Changes:

  • Attributes MediaKeySession lifecycle/concurrency requirements to the user agent (e.g., monitoring CDM state changes, session object lifetime/event delivery).
  • Attributes session ID, session data isolation, persistence, and message-content requirements to the CDM (e.g., per-origin uniqueness, storage isolation, identifier restrictions).
  • Editorially refactors several MUST/MUST NOT statements to explicitly name the actor while preserving intent.

Comment on lines +5048 to +5051
The [=CDM=] MUST NOT include [=Distinctive Permanent Identifier(s)=] in
<var>message</var>, even in an encrypted form. The [=CDM=] MUST NOT include [=Distinctive
Identifier(s)=] in <var>message</var>, even in an encrypted form, if the
{{MediaKeySession}} object's <var>use distinctive identifier</var> value is false.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants