Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReSpec update #530

Merged
merged 187 commits into from
Apr 26, 2024
Merged
Changes from 1 commit
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
d930547
Move contributor names from script to the document
chrisn Mar 20, 2024
08f8f8c
Use latest ReSpec script
chrisn Mar 20, 2024
5e3dde5
Update HTMLMediaElement references
chrisn Mar 20, 2024
6f6b27e
Remove unnecessary section IDs
chrisn Mar 20, 2024
6e2cf46
Update Key System references
chrisn Mar 20, 2024
a4ee0f6
Update CDM references
chrisn Mar 20, 2024
e0a58ba
Update Initialization Data references
chrisn Mar 20, 2024
3d2a67d
Update Initialization Data Type references
chrisn Mar 20, 2024
67e7323
Update media data references
chrisn Mar 20, 2024
6405ba2
Update key ID references
chrisn Mar 20, 2024
06338e3
Update usable for decryption references
chrisn Mar 20, 2024
72db41d
Update associable references
chrisn Mar 20, 2024
38434b6
Update non-associable references
chrisn Mar 20, 2024
632c382
Update Distinctive Identifier references
chrisn Mar 20, 2024
b9366a2
Update TypeError references
chrisn Mar 20, 2024
bbf08d5
Update NotSupportedError references
chrisn Mar 20, 2024
980af22
Update InvalidStateError references
chrisn Mar 20, 2024
597f0eb
Update QuotaExceededError references
chrisn Mar 20, 2024
1ffeef5
Update SecurityError and DOMException references
chrisn Mar 20, 2024
182756e
Update Permissions Policy references
chrisn Mar 20, 2024
9a02422
Update time and expiration time references
chrisn Mar 20, 2024
01047ab
Update origin references
chrisn Mar 20, 2024
bb7f3bd
Update browsing profile references
chrisn Mar 20, 2024
7308ac5
Update origins references
chrisn Mar 20, 2024
0603a9b
Update origin(s) references
chrisn Mar 20, 2024
1349d39
Update relevant global oject and associated document references
chrisn Mar 26, 2024
8c7b307
Update Session ID references
chrisn Mar 27, 2024
0236bf7
Update key ID(s) references
chrisn Mar 27, 2024
01aa27f
Update non-associable by applications references
chrisn Mar 27, 2024
ff3bdd5
Update expiration references
chrisn Mar 27, 2024
2757b17
Update readyState references
chrisn Mar 27, 2024
6f263d5
Update potentially playing references
chrisn Mar 27, 2024
0a92e04
Update Session Storange and Persistence references
chrisn Mar 27, 2024
0ed1773
Update Distinctive Permanent Identifier(s) references
chrisn Mar 27, 2024
c857c2e
Update Distinctive Permanent Identifiers references
chrisn Mar 27, 2024
1a2d5f6
Fix typo
chrisn Mar 27, 2024
1f04bf7
Update record of license destruction references
chrisn Mar 27, 2024
38d7224
Update iterable references
chrisn Mar 27, 2024
12912fd
Update Distinctive Permanent Identifier references
chrisn Mar 27, 2024
e36dc3a
Update throw references
chrisn Mar 27, 2024
20d0087
Update cbcs references
chrisn Mar 27, 2024
7c22b21
Update closed references
chrisn Mar 27, 2024
52ee3b0
Update MediaKeySession/closed references
chrisn Mar 27, 2024
411e786
Fix experiation definition
chrisn Mar 27, 2024
8171016
Update document references
chrisn Mar 27, 2024
b93ee10
Update Get Supported Configuration references
chrisn Mar 27, 2024
799c9d6
Update Get Supported Configuration and Consent references
chrisn Mar 27, 2024
0268836
Update is persistent session type? references
chrisn Mar 27, 2024
a483bcc
Update Queue a task references
chrisn Apr 16, 2024
6ec2a8b
Update HTMLMediaElement internal values list for consistency
chrisn Apr 16, 2024
66298fe
Update Session Closed references
chrisn Apr 16, 2024
d2a657d
Update CDM Unavailable references
chrisn Apr 16, 2024
a3369f9
Update Update Expiration references
chrisn Apr 16, 2024
63cdce5
Update Update Key Statuses references
chrisn Apr 16, 2024
c29cfac
Update Queue a message Event references
chrisn Apr 16, 2024
232a37d
Update known references
chrisn Apr 16, 2024
137faa1
Update Monitor for CDM State Changes references
chrisn Apr 16, 2024
ae6436f
Update HTMLMediaElement/mediaKeys references
chrisn Apr 16, 2024
2c2a196
Update record(s) of license destruction references
chrisn Apr 16, 2024
0907764
Update Distinctive Identifier(s) references
chrisn Apr 16, 2024
294c386
Update MediaKeySession/keyStatuses references
chrisn Apr 16, 2024
7cec0bc
Update MediaKeySystemAccess/keySystem references
chrisn Apr 16, 2024
e5727a4
Update Wait for Key references
chrisn Apr 16, 2024
6081961
Update Navigator/requestMediaKeySystemAccess() references
chrisn Apr 16, 2024
2a0b352
Update MediaKeysRequirement enum value references
chrisn Apr 16, 2024
fa32702
Update CORS-same-origin references
chrisn Apr 16, 2024
949f907
Update MediaKeySessionType enum value references
chrisn Apr 16, 2024
6e9696b
Update MediaKeyStatus enum value references
chrisn Apr 16, 2024
585a597
Update MediaKeyMessageType enum value references
chrisn Apr 16, 2024
0e7ae2d
Update HTMLMediaElement/setMediaKeys() references
chrisn Apr 16, 2024
89837ac
Update MediaKeySystemMediaCapability/content-type references
chrisn Apr 16, 2024
1a949cc
Update MediaKeys/setServerCertificate() references
chrisn Apr 17, 2024
7205c17
Update MediaKeySystemMediaCapability/robustness references
chrisn Apr 17, 2024
c57bd4f
Update MediaKeySession/close() references
chrisn Apr 17, 2024
6e5dc56
Update MediaKeySessionClosedReason/closed-by-application references
chrisn Apr 17, 2024
8aace32
Update MediaKeySessionClosedReason/release-acknowledged references
chrisn Apr 17, 2024
ea764c8
Removed some unnecessary ids
chrisn Apr 17, 2024
f829319
Update MediaKeySession/update() references
chrisn Apr 17, 2024
272c79b
Update MediaKeySession/load() references
chrisn Apr 17, 2024
3f7cdd2
Update MediaKeySession/remove() references
chrisn Apr 17, 2024
36397cb
Update MediaKeySession/expiration references
chrisn Apr 17, 2024
addd88f
Update MediaKeySession/sessionId references
chrisn Apr 17, 2024
49b4c9f
Update MediaKeySession/generateRequest() references
chrisn Apr 17, 2024
e487ace
Update MediaEncryptedEvent/initData and initDataType references
chrisn Apr 17, 2024
341d666
Update waitingforkey references
chrisn Apr 17, 2024
b7023fc
Update encrypted event references
chrisn Apr 17, 2024
250ef18
Update keystatuseschange event references
chrisn Apr 17, 2024
f208766
Update message event references
chrisn Apr 17, 2024
564f22b
Update Event, MediaKeyMessageEvent, and MediaEncryptedEvent references
chrisn Apr 17, 2024
1697944
Update Attempt to Decrypt references
chrisn Apr 17, 2024
bab982b
Update resource fetch algorithm references
chrisn Apr 17, 2024
3bdb099
Update Encrypted Block Encountered references
chrisn Apr 17, 2024
91d57a8
Update Initialization Data Encountered references
chrisn Apr 17, 2024
5091b2c
Update Constructing events references
chrisn Apr 17, 2024
0602dc4
Update seeking references
chrisn Apr 17, 2024
5a59cc4
Update MediaKeyMessageEvent messageType and message references
chrisn Apr 17, 2024
d4d37ae
Update Attempt to Resume Playback If Necessary references
chrisn Apr 17, 2024
116f06d
Update MediaKeySystemConfiguration/distinctiveIdentifier references
chrisn Apr 17, 2024
0d788fc
Update MediaKeySystemConfiguration/videoCapabilities references
chrisn Apr 17, 2024
b8abce5
Update MediaKeySystemConfiguration/audioCapabilities references
chrisn Apr 17, 2024
920dff8
Update MediaKeySystemConfiguration/persistentState references
chrisn Apr 17, 2024
c686e61
Update MediaKeySystemConfiguration/sessionTypes references
chrisn Apr 17, 2024
ab262de
Update MediaKeySystemConfiguration/initDataTypes references
chrisn Apr 17, 2024
57ec132
Update MediaKeySystemConfiguration/label references
chrisn Apr 17, 2024
9c6a41f
Fixed MediaKeyStatus/output-restricted references
chrisn Apr 17, 2024
5293ccf
Fixed MediaKeySessionType/temporary references
chrisn Apr 17, 2024
71e4cb2
Update MediaKeyEventMessage/message references
chrisn Apr 17, 2024
3a7201d
Update Storage and Persistence references
chrisn Apr 17, 2024
4f43f2f
Update HTMLMediaElement/crossOrigin references
chrisn Apr 17, 2024
4f32a82
Update MediaKeysPolicy/minHdcpVersion references
chrisn Apr 17, 2024
305e801
Update DOMException references
chrisn Apr 17, 2024
ee89f92
Update MediaKeyStatusMap/size references
chrisn Apr 17, 2024
f45993d
Update error name references
chrisn Apr 17, 2024
ea2f63a
Update canplaythrough references
chrisn Apr 17, 2024
84e1e47
Update MediaKeyMessageEvent/messageType references
chrisn Apr 17, 2024
95ea906
Update media resource references
chrisn Apr 17, 2024
b9b700b
Update DOMException names references
chrisn Apr 17, 2024
b468d60
Update MIME type references
chrisn Apr 17, 2024
e0010c1
Update valid MIME type references
chrisn Apr 17, 2024
a975d8b
Update error name references
chrisn Apr 17, 2024
5ff7bb9
Update TextDecoder references
chrisn Apr 17, 2024
4ec9cab
Update current playback position etc references
chrisn Apr 17, 2024
8bc4b73
Update Get Consent Status references
chrisn Apr 17, 2024
59a5549
Update encryptionScheme references
chrisn Apr 17, 2024
2c1e277
Update dictionary member references
chrisn Apr 18, 2024
439604d
Update media data is corrupted references
chrisn Apr 18, 2024
515282c
Update blocked media element references
chrisn Apr 18, 2024
6fa29a1
Update current playback position references
chrisn Apr 18, 2024
bfc3e87
Update direction of playback references
chrisn Apr 18, 2024
3dca631
Update records of license destruction references
chrisn Apr 18, 2024
2bf80bb
Update timed text tracks references
chrisn Apr 18, 2024
5bc4060
Update cenc references
chrisn Apr 18, 2024
d65be53
Update references in code examples
chrisn Apr 18, 2024
fc7e1b8
Update MediaKeySystemConfiguration references
chrisn Apr 18, 2024
9b2f17c
Update TextEncoder references
chrisn Apr 18, 2024
a1b0bee
Update references in code examples
chrisn Apr 18, 2024
b6d6099
Update browsing profile references
chrisn Apr 18, 2024
2669b00
Update present and not present references
chrisn Apr 18, 2024
09fc581
Replace WEBIDL reference with Infra
chrisn Apr 18, 2024
40e9e5a
Update Get Supported Capabilities for Audio/Video Type references
chrisn Apr 18, 2024
221acca
Update MediaKeySystemAccess references
chrisn Apr 18, 2024
a296f04
Update MediaKeySession references
chrisn Apr 18, 2024
c4e6dea
Update MediaKeys references
chrisn Apr 18, 2024
25d03ae
Remove parameter tables that duplicate the WebIDL
chrisn Apr 18, 2024
fb7aded
Update references in code examples
chrisn Apr 18, 2024
6a97c8b
Update CanvasRenderingContext2D and MediaElementAudioSourceNode refer…
chrisn Apr 18, 2024
ccf5347
Update MediaKeysRequirement references
chrisn Apr 18, 2024
47055fa
Update MediaKeyStatusMap references
chrisn Apr 18, 2024
b17791e
Update MediaKeySystemMediaCapability references
chrisn Apr 18, 2024
0642ed4
Update MediaKeySessionType references
chrisn Apr 18, 2024
11d0d7b
Update MediaKeyStatus and MediaKeysPolicy references
chrisn Apr 18, 2024
d71cac3
Update MediaKeyMessageType references
chrisn Apr 18, 2024
a1ef856
Update MediaKeyMessageEvent references
chrisn Apr 18, 2024
50ad16b
Update MediaKeySessionClosedReason references
chrisn Apr 18, 2024
96e5967
Tidy up attribute definition lists
chrisn Apr 18, 2024
8f74364
Remove data-link-for attributes and disambiguate media key session/cl…
chrisn Apr 18, 2024
d0f69ca
Update valid media MIME type references
chrisn Apr 18, 2024
4b768b9
Update media resource references
chrisn Apr 18, 2024
4960609
Update Get Supported Capabilities for Audio/Video Type references
chrisn Apr 18, 2024
d4b8f9c
Remove unnecessary </a> tag
chrisn Apr 18, 2024
228f9c4
Remove idlMemberType spans
chrisn Apr 18, 2024
ea317f9
Update simple exception references
chrisn Apr 18, 2024
3944efc
Update queue a task to fire a simple event named references
chrisn Apr 18, 2024
e74221d
Remove encrypted-media.js
chrisn Apr 18, 2024
51e60b0
Add to list of contributors
chrisn Apr 18, 2024
445f9a2
Reintroduce deleted text and fix order of getStatusForPolicy() paragr…
chrisn Apr 18, 2024
cae3223
Fix capitalisation of Document
chrisn Apr 18, 2024
b6b1e9e
Apply suggestions from Francois' review
chrisn Apr 19, 2024
f1cc924
Use capital MUST
chrisn Apr 19, 2024
66e1c5f
Update known keys references
chrisn Apr 19, 2024
137ac0a
Update licenses references
chrisn Apr 19, 2024
7fef4ee
Update time references
chrisn Apr 19, 2024
5b8aa77
Update key and key session references
chrisn Apr 19, 2024
9154602
Remove dfn as term is not referenced anywhere
chrisn Apr 19, 2024
928174e
Update mixed content references
chrisn Apr 19, 2024
156ce3e
Place <dfn> within <code>
chrisn Apr 20, 2024
c6ae723
Remove <code> around methods
chrisn Apr 20, 2024
7725d7b
Add infra to xrefs for map/exist
chrisn Apr 20, 2024
355f2db
Remove <code> around attributes
chrisn Apr 20, 2024
cbc07d7
Remove <code> around enum dfns
chrisn Apr 20, 2024
dcc6e30
Tidy up html
chrisn Apr 20, 2024
504b0c7
Add workflow step to tidy the source document
chrisn Apr 20, 2024
0e3c9d6
Add links to defined terms
chrisn Apr 20, 2024
93fa7b8
Add links to defined terms
chrisn Apr 20, 2024
b2b064b
Update .github/workflows/tidy.yml
marcoscaceres Apr 22, 2024
0ecd720
Remove some dfn ids
chrisn Apr 22, 2024
d9910d4
Fixed capitalisation
chrisn Apr 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 26 additions & 28 deletions encrypted-media-respec.html
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ <h2>Introduction</h2>
<h2>Definitions</h2>

<dl>
<dt id="cdm"><dfn class="export" data-lt="CDM">Content Decryption Module (CDM)</dfn></dt>
<dt><dfn class="export" data-lt="CDM">Content Decryption Module (CDM)</dfn></dt>
<dd>
<p>Content Decryption Module (CDM) is the client component that provides the functionality, including decryption, for one or more [=Key Systems=].</p>
<p class="note">
Expand All @@ -124,7 +124,7 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="key-system"><dfn>Key System</dfn></dt>
<dt><dfn>Key System</dfn></dt>
<dd>
<p>A Key System is a generic term for a decryption mechanism and/or content protection provider.
Key System strings provide unique identification of a Key System.
Expand All @@ -144,7 +144,7 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="key-session">Key Session</dt>
<dt><dfn>Key Session</dfn></dt>
<dd>
<p>A Key Session, or simply Session, provides a context for message exchange with the [=CDM=] as a result of which key(s) are made available to the CDM.
Sessions are embodied as {{MediaKeySession}} objects.
Expand All @@ -160,7 +160,7 @@ <h2>Definitions</h2>
<p>[=Key IDs=] MUST be unique within a session.</p>
</dd>

<dt id="session-id"><dfn>Session ID</dfn></dt>
<dt><dfn>Session ID</dfn></dt>
<dd>
<p>A Session ID is a unique string identifier generated by the [=CDM=] that can be used by the application to identify {{MediaKeySession}} objects.</p>

Expand All @@ -173,7 +173,7 @@ <h2>Definitions</h2>
<p class="note">The underlying content protection protocol does not necessarily need to support Session IDs.</p>
</dd>

<dt id="decryption-key">Key</dt>
<dt><dfn>Key</dfn></dt>
<dd>
<p>Unless otherwise stated, key refers to a decryption key that can be used to decrypt blocks within [=HTMLMediaElement/media data=].
Each such key is uniquely identified by a [=key ID=].
Expand All @@ -188,13 +188,13 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="usable-for-decryption"><dfn>Usable For Decryption</dfn></dt>
<dt><dfn>Usable For Decryption</dfn></dt>
<dd>
<p>A key is considered usable for decryption if the CDM is certain the key is currently usable to decrypt one or more blocks of [=HTMLMediaElement/media data=].</p>
<p class="note">For example, a key is not usable for decryption if its license has expired. Even if its license has not expired, a key is not usable for decryption if other conditions (e.g., output protection) for its use are not currently satisfied.</p>
</dd>

<dt id="decryption-key-id"><dfn class="export" data-export="" data-lt="Decryption key ID">Key ID</dfn></dt>
<dt><dfn class="export" data-export="" data-lt="Decryption key ID">Key ID</dfn></dt>
<dd>
<p>A <a href="#decryption-key">key</a> is associated with a key ID that is a sequence of octets and which uniquely identifies the key.
The container specifies the ID of the key that can decrypt a block or set of blocks within the [=HTMLMediaElement/media data=].
Expand All @@ -204,7 +204,7 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="known-key"><dfn data-lt="Known">Known Key</dfn></dt>
<dt><dfn data-lt="Known">Known Key</dfn></dt>
<dd>
<p>A key is considered to be known to a session if the [=CDM=]'s implementation of the session contains any information - specifically the [=key ID=] - about it, regardless of whether the actual <a href="#decryption-key">key</a> is usable or its value is known.
Known keys are exposed via the {{MediaKeySession/keyStatuses}} attribute.
Expand All @@ -217,7 +217,7 @@ <h2>Definitions</h2>
<p class="note">For example, a key could become unknown if an {{MediaKeySession/update()}} call provides a new license that does not include the key and includes instructions to replace the license(s) that previously contained the key.</p>
</dd>

<dt id="license">License</dt>
<dt><dfn>License</dfn></dt>
<dd>
<p>A license is key system-specific state information that includes one or more <a href="#decryption-key">key(s)</a> - each associated with a [=key ID=] - and potentially other information about key usage.</p>
</dd>
Expand Down Expand Up @@ -350,7 +350,7 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="distinctive-identifier"><dfn data-lt="Distinctive Identifier(s)">Distinctive Identifier</dfn></dt>
<dt><dfn data-lt="Distinctive Identifier(s)">Distinctive Identifier</dfn></dt>
<dd>
<div class="note">
<p>
Expand Down Expand Up @@ -483,7 +483,7 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="cross-origin">Cross Origin Limitations</dt>
<dt><dfn>Cross Origin Limitations</dfn></dt>
<dd>
<p>During playback, embedded media data is exposed to script in the embedding [=origin=].
In order for the API to provide [=Initialization Data=] in the {{encrypted}} event, [=HTMLMediaElement/media data=] MUST be [=CORS-same-origin=] with the embedding page.
Expand All @@ -492,14 +492,14 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="mixed-content">Mixed Content Limitations</dt>
<dt><dfn>Mixed Content Limitations</dfn></dt>
<dd>
<p>During playback, embedded media data is exposed to script in the embedding [=origin=].
In order for the API to provide [=Initialization Data=] in the {{encrypted}} event, [=HTMLMediaElement/media data=] MUST NOT be Mixed Content [[MIXED-CONTENT]].
</p>
</dd>

<dt id="time"><dfn>Time</dfn></dt>
<dt><dfn>Time</dfn></dt>
<dd>
<p>Time MUST be equivalent to that represented in <a class="external" href="https://tc39.github.io/ecma262/#sec-time-values-and-time-range">ECMAScript <span class="estype">Time Values and Time Range</span></a> [[ECMA-262]].
</p>
Expand All @@ -510,14 +510,14 @@ <h2>Definitions</h2>
</p>
</dd>

<dt id="expiration-time"><dfn data-lt="expiration">Expiration Time</dfn></dt>
<dt><dfn data-lt="expiration">Expiration Time</dfn></dt>
<dd>
<p>
The [=time=] after which key(s) will no longer be [=usable for decryption=].
</p>
</dd>

<dt id="browsing-profile"><dfn>Browsing Profile</dfn></dt>
<dt><dfn>Browsing Profile</dfn></dt>
<dd>
<p>
A User Agent on a given machine may support execution in a variety of different contexts or modes or temporary states that are expected to behave independently
Expand All @@ -529,7 +529,7 @@ <h2>Definitions</h2>
multiple independent profiles for a single account.
</p>
</dd>
<dt id="valid-media-mime-type"><dfn>Valid Media MIME Type</dfn></dt>
<dt><dfn>Valid Media MIME Type</dfn></dt>
<dd>
<p>
A valid media MIME type is a media <a data-cite="html#mime-types">MIME type</a> that is also a [=valid MIME type string=] [[mimesniff]].
Copy link
Member

Choose a reason for hiding this comment

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

I suggest to target the actual definition of MIME type direction. The section in HTML contains interesting information but that's more informative.

Suggested change
A valid media MIME type is a media <a data-cite="html#mime-types">MIME type</a> that is also a [=valid MIME type string=] [[mimesniff]].
A valid media MIME type is a media [=MIME type=] that is also a [=valid MIME type string=] [[mimesniff]].

Copy link
Member Author

Choose a reason for hiding this comment

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

At this stage I was just trying to replicate the existing links, but you're probably right. We'll need to come back to this in light of #511 and #512 though.

Expand Down Expand Up @@ -591,7 +591,7 @@ <h2>Methods</h2>
Implementations MUST meet all related requirements and SHOULD follow related recommendations such that the risks on in an secure context would be similar.
</p>
</div>
<p>When this method is invoked, the user agent must run the following steps:</p>
<p>When this method is invoked, the user agent MUST run the following steps:</p>
tidoust marked this conversation as resolved.
Show resolved Hide resolved
<ol class="method-algorithm">
<!-- TODO: Convert all parameters to use <code>. -->

Expand Down Expand Up @@ -824,7 +824,7 @@ <h5><dfn>Get Supported Configuration and Consent</dfn></h5>
</li>
<li><p>Follow the steps for the first matching condition from the following list:</p>
<dl class="switch">
<dt>If the {{MediaKeySystemConfiguration/sessionTypes}} member is <a data-cite="infra#map-exists">present</a> [[Infra]] in <var>candidate configuration</var></dt>
<dt>If the {{MediaKeySystemConfiguration/sessionTypes}} member is [=map/exist|present=] [[Infra]] in <var>candidate configuration</var></dt>
<dd>
<p>Let <var>session types</var> be <var>candidate configuration</var>'s {{MediaKeySystemConfiguration/sessionTypes}} member.</p>
</dd>
Expand Down Expand Up @@ -1245,7 +1245,7 @@ <h3><dfn>MediaKeySystemConfiguration</dfn> dictionary</h3>
<p class="note">Applications intending to create non-{{MediaKeySessionType/"temporary"}} sessions, should set this member to {{MediaKeysRequirement/"required"}} when calling {{Navigator/requestMediaKeySystemAccess()}}.</p>
</dd><dt><dfn><code>sessionTypes</code></dfn> of type <span class="idlMemberType">sequence&lt;{{DOMString}}&gt;</span></dt><dd>
A list of {{MediaKeySessionType}}s that must be supported. All values must be supported.
<p>If this member is <a data-cite="infra#map-exists">not present</a> [[Infra]] when the dictionary is passed to {{Navigator/requestMediaKeySystemAccess()}}, the dictionary will be treated as if this member is set to <code>[ {{MediaKeySessionType/"temporary"}} ]</code>.</p>
<p>If this member is [=map/exist|not present=] [[Infra]] when the dictionary is passed to {{Navigator/requestMediaKeySystemAccess()}}, the dictionary will be treated as if this member is set to <code>[ {{MediaKeySessionType/"temporary"}} ]</code>.</p>
</dd></dl>

<p>Implementations SHOULD NOT add members to this dictionary.
Expand Down Expand Up @@ -1574,17 +1574,17 @@ <h2>Methods</h2>
</div>
<p>When this method is invoked, the user agent must run the following steps:</p>
<ol class="method-algorithm">
<li>If <var>policy</var> has no <a data-cite="infra#map-exists">present</a> <a data-cite="webidl#dfn-dictionary-member">members</a>, return a promise rejected with a newly created {{TypeError}}.</li>
<li>If <var>policy</var> has no [=map/exist|present=] [=dictionary members=], return a promise rejected with a newly created {{TypeError}}.</li>
<li><p>Let <var>promise</var> be a new promise.</p>
<ol>
<li><p>For each <a data-cite="webidl#dfn-dictionary-member">member</a> of <var>policy</var>, run the following steps:</p>
<li><p>For each [=dictionary member=] of <var>policy</var>, run the following steps:</p>
<ol>
<li><p>If the CDM cannot determine the {{MediaKeyStatus}} for <a data-cite="webidl#dfn-dictionary-member">member</a>, then reject <var>promise</var> with {{NotSupportedError}} and abort these steps.</p></li>
<li><p>If the CDM cannot determine the {{MediaKeyStatus}} for the [=dictionary member=], then reject <var>promise</var> with {{NotSupportedError}} and abort these steps.</p></li>
</ol>
</li>
<li><p>For each <a data-cite="webidl#dfn-dictionary-member">member</a> of <var>policy</var>, run the following steps:</p>
<li><p>For each [=dictionary member=] of <var>policy</var>, run the following steps:</p>
<ol>
<li><p>If the CDM would block presentation of decrypted media data for <a data-cite="webidl#dfn-dictionary-member">member</a>, then resolve <var>promise</var> with {{MediaKeyStatus/"output-restricted"}}.</p></li>
<li><p>If the CDM would block presentation of decrypted media data for the [=dictionary member=], then resolve <var>promise</var> with {{MediaKeyStatus/"output-restricted"}}.</p></li>
</ol>
</li>
<li><p>Resolve <var>promise</var> with {{MediaKeyStatus/"usable"}}.</p></li>
Expand Down Expand Up @@ -2357,7 +2357,6 @@ <h2>Methods</h2>
<section>
<h3>{{MediaKeyMessageEvent}}</h3>
<p>The MediaKeyMessageEvent object is used for the {{message}} event.</p>
<p>Events are constructed as defined in <a data-cite="dom#constructing-events">Constructing events</a> [[DOM]].</p>

<pre class="idl">
enum MediaKeyMessageType {
Expand Down Expand Up @@ -2400,7 +2399,7 @@ <h2>Attributes</h2>

<section>
<h4><dfn>MediaKeyMessageEventInit</dfn></h4>
<pre class="idl" data-cite="DOM">
<pre class="idl">
dictionary MediaKeyMessageEventInit : EventInit {
required MediaKeyMessageType messageType;
required ArrayBuffer message;
Expand Down Expand Up @@ -2875,7 +2874,6 @@ <h2>Methods</h2>
<section>
<h3><a>MediaEncryptedEvent</a></h3>
<p>The MediaEncryptedEvent object is used for the {{encrypted}} event.</p>
<p>Events are constructed as defined in <a data-cite="dom#constructing-events">Constructing events</a> [[DOM]].</p>

<pre class="idl">
[Exposed=Window]
Expand All @@ -2898,7 +2896,7 @@ <h2>Attributes</h2>

<section>
<h4><dfn>MediaEncryptedEventInit</dfn></h4>
<pre class="idl" data-cite="DOM">
<pre class="idl">
dictionary MediaEncryptedEventInit : EventInit {
DOMString initDataType = "";
ArrayBuffer? initData = null;
Expand Down