17203 - Should session ID be required?
authorAdrian Bateman <adrianba@microsoft.com>
Tue, 16 Jul 2013 07:55:17 -0700
changeset 140 b0f59ea8c850
parent 139 da3ae92ecee2
child 141 2b2d8865de83
17203 - Should session ID be required?
encrypted-media/encrypted-media.html
encrypted-media/encrypted-media.xml
--- a/encrypted-media/encrypted-media.html	Tue Jul 16 07:48:45 2013 -0700
+++ b/encrypted-media/encrypted-media.html	Tue Jul 16 07:55:17 2013 -0700
@@ -225,25 +225,20 @@
 
 
     <h4 id="session-id">1.2.3. Session ID</h4>
-    <p>A session ID is an optional string ID used to associate calls related to a key/license lifetime, starting with the request.
+    <p>A Session ID is a string ID that can be used to associate calls related to a key/license lifetime, starting with the request.
     <span class="non-normative">It is a local binding between a request and key/license.
     It does not associate keys or licenses for different streams (i.e. audio and video).</span>
-    If supported by the <a href="#key-system">Key System</a>, it is generated by the user agent/CDM and provided to the application in the <code><a href="#dom-keymessage">keymessage</a></code> event.
+    It is generated by the user agent/CDM and provided to the application in the <code><a href="#dom-keymessage">keymessage</a></code> event.
     <span class="non-normative">(Session IDs need not necessarily be supported by the underlying content protection client or server.)</span>
     </p>
 
-    <p>If Session IDs are supported, a new one will be generated each time <code><a href="#dom-createsession">createSession()</a></code> successfully creates a <code><a href="#dom-mediakeysession">MediaKeySession</a></code> object.
+    <p>A new Session ID will be generated each time <code><a href="#dom-createsession">createSession()</a></code> successfully creates a <code><a href="#dom-mediakeysession">MediaKeySession</a></code> object.
     The user agent/CDM manage the lifetime of Session IDs.
     All Session IDs are cleared from the <a href="#media-element">media element</a> when a load occurs, although the CDM may retain them for longer periods.
     </p>
     <p>Each SessionID shall be unique within the browsing context in which it was created. If secure proof of key release is supported each Session ID shall
     be unique within the origin. Note that this last requirement implies that Session IDs shall be unique over time including across browsing sessions.</p>
 
-    <p class="non-normative">Applications should always provide the session ID from an event in subsequent calls for this key or license.
-    (This is a best practice, even if the current Key System does not support session IDs.)
-    This may mean that the application must associate a server response with the session ID and provide them both to <code><a href="#dom-update">update()</a></code>.
-    </p>
-
     <h4 id="initialization-data">1.2.4. Initialization Data</h4>
     <p><i>This section is non-normative.</i></p>
     <p>Initialization Data is a generic term for container-specific data that is used by <a href="#cdm">Content Decryption Modules</a> to generate a key request.
--- a/encrypted-media/encrypted-media.xml	Tue Jul 16 07:48:45 2013 -0700
+++ b/encrypted-media/encrypted-media.xml	Tue Jul 16 07:55:17 2013 -0700
@@ -221,25 +221,20 @@
 
 
     <h4 id="session-id">1.2.3. Session ID</h4>
-    <p>A session ID is an optional string ID used to associate calls related to a key/license lifetime, starting with the request.
+    <p>A Session ID is a string ID that can be used to associate calls related to a key/license lifetime, starting with the request.
     <span class="non-normative">It is a local binding between a request and key/license.
     It does not associate keys or licenses for different streams (i.e. audio and video).</span>
-    If supported by the <a href="#key-system">Key System</a>, it is generated by the user agent/CDM and provided to the application in the <coderef>keymessage</coderef> event.
+    It is generated by the user agent/CDM and provided to the application in the <coderef>keymessage</coderef> event.
     <span class="non-normative">(Session IDs need not necessarily be supported by the underlying content protection client or server.)</span>
     </p>
 
-    <p>If Session IDs are supported, a new one will be generated each time <methodref>createSession</methodref> successfully creates a <coderef>MediaKeySession</coderef> object.
+    <p>A new Session ID will be generated each time <methodref>createSession</methodref> successfully creates a <coderef>MediaKeySession</coderef> object.
     The user agent/CDM manage the lifetime of Session IDs.
     All Session IDs are cleared from the <a href="#media-element">media element</a> when a load occurs, although the CDM may retain them for longer periods.
     </p>
     <p>Each SessionID shall be unique within the browsing context in which it was created. If secure proof of key release is supported each Session ID shall
     be unique within the origin. Note that this last requirement implies that Session IDs shall be unique over time including across browsing sessions.</p>
 
-    <p class="non-normative">Applications should always provide the session ID from an event in subsequent calls for this key or license.
-    (This is a best practice, even if the current Key System does not support session IDs.)
-    This may mean that the application must associate a server response with the session ID and provide them both to <methodref>update</methodref>.
-    </p>
-
     <h4 id="initialization-data">1.2.4. Initialization Data</h4>
     <non-normative-section/>
     <p>Initialization Data is a generic term for container-specific data that is used by <a href="#cdm">Content Decryption Modules</a> to generate a key request.