[EME] Session IDs for persistent sessions must be unique in the origin.
authorDavid Dorwin <ddorwin@google.com>
Mon, 15 Sep 2014 15:11:52 -0700
changeset 430 1f049d683307
parent 429 1a115507e196
child 431 03408a291076
[EME] Session IDs for persistent sessions must be unique in the origin.
encrypted-media/encrypted-media.html
encrypted-media/encrypted-media.xml
--- a/encrypted-media/encrypted-media.html	Mon Sep 15 15:11:12 2014 -0700
+++ b/encrypted-media/encrypted-media.html	Mon Sep 15 15:11:52 2014 -0700
@@ -255,7 +255,7 @@
     <p>A new Session ID is generated each time the user agent and CDM successfully create a new session.</p>
 
     <p>Each Session ID shall be unique within the browsing context in which it was created.
-    <span class="non-normative">(Note: Some use cases may require that Session IDs be unique within the origin over time, including across browsing sessions.)</span>
+      Session IDs for "<code><a href="#dom-sessiontypepersistent">persistent</a></code>" sessions must be unique within the origin over time, including across browsing sessions.
     </p>
 
     <h4 id="decryption-key">1.1.5. Key</h4>
@@ -574,7 +574,10 @@
                 <p class="non-normative">Note: The license server determines the type of license that is returned, either persistent or non-persistent. A persistent license cannot be added to a non-persistable session.</p>
               </li>
 
-              <li><p>Let <var title="true">session id</var> be a unique <a href="#session-id">Session ID</a> string.</p></li>
+              <li>
+<p>Let <var title="true">session id</var> be a unique <a href="#session-id">Session ID</a> string.</p>
+                <p>If <var title="true">session type</var> is "<code><a href="#dom-sessiontypepersistent">persistent</a></code>", the ID must be unique within the the <a href="http://www.w3.org/TR/html5/browsers.html#origin-0">origin</a> of this object's <code><a href="http://www.w3.org/TR/dom/#document">Document</a></code> over time, including across Documents and browsing sessions.</p>
+              </li>
               <li>
 <p>Let <var title="true">request</var> be a request <span class="non-normative">(e.g. a license request)</span> for the <var title="true">requested session type</var> generated based on the <var>init data</var>, which is interpreted per <var title="true">initDataType</var>.</p>
                 <p>The <var title="true">cdm</var> must not use any stream-specific data, including <a href="http://www.w3.org/TR/html5/embedded-content-0.html#media-data">media data</a>, not provided via the <var>init data</var>.</p>
--- a/encrypted-media/encrypted-media.xml	Mon Sep 15 15:11:12 2014 -0700
+++ b/encrypted-media/encrypted-media.xml	Mon Sep 15 15:11:52 2014 -0700
@@ -252,7 +252,7 @@
     <p>A new Session ID is generated each time the user agent and CDM successfully create a new session.</p>
 
     <p>Each Session ID shall be unique within the browsing context in which it was created.
-    <span class="non-normative">(Note: Some use cases may require that Session IDs be unique within the origin over time, including across browsing sessions.)</span>
+      Session IDs for "<coderef prefix="sessiontype">persistent</coderef>" sessions must be unique within the origin over time, including across browsing sessions.
     </p>
 
     <h4 id="decryption-key">1.1.5. Key</h4>
@@ -549,7 +549,9 @@
                 <p class="non-normative">Note: The license server determines the type of license that is returned, either persistent or non-persistent. A persistent license cannot be added to a non-persistable session.</p>
               </li>
 
-              <li><p>Let <var title="true">session id</var> be a unique <a href="#session-id">Session ID</a> string.</p></li>
+              <li><p>Let <var title="true">session id</var> be a unique <a href="#session-id">Session ID</a> string.</p>
+                <p>If <var title="true">session type</var> is "<coderef prefix="sessiontype">persistent</coderef>", the ID must be unique within the the <a href="http://www.w3.org/TR/html5/browsers.html#origin-0">origin</a> of this object's <code><dom4ref name="document">Document</dom4ref></code> over time, including across Documents and browsing sessions.</p>
+              </li>
               <li><p>Let <var title="true">request</var> be a request <span class="non-normative">(e.g. a license request)</span> for the <var title="true">requested session type</var> generated based on the <var>init data</var>, which is interpreted per <var title="true">initDataType</var>.</p>
                 <p>The <var title="true">cdm</var> must not use any stream-specific data, including <videoanchor name="media-data">media data</videoanchor>, not provided via the <var>init data</var>.</p>
                 <p>The <var title="true">cdm</var> should <em>not</em> store session data, including the session ID, at this point. See <a href="#session-storage">Session Storage and Persistence</a>.</p>