[EME] Session IDs for persistent sessions must be unique in the origin.
--- 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>