[EME] Bug 25267 - Remove ability for in-memory sessions to be re-used
authorDavid Dorwin <ddorwin@google.com>
Mon, 21 Apr 2014 15:59:33 -0700
changeset 287 a91faf82b9b5
parent 286 b8934774026e
child 288 5af732159d2e
[EME] Bug 25267 - Remove ability for in-memory sessions to be re-used

This is unnecessary now that all implementations check for existing sessions (bug 25268).
encrypted-media/encrypted-media.html
encrypted-media/encrypted-media.xml
--- a/encrypted-media/encrypted-media.html	Mon Apr 21 15:58:23 2014 -0700
+++ b/encrypted-media/encrypted-media.html	Mon Apr 21 15:59:33 2014 -0700
@@ -480,18 +480,13 @@
             <ol>
               <li><p>Process the <var title="true">initData</var>, interpreting it per <var title="true">initDataType</var>.</p></li>
               <li>
-<p>If a message exchange <span class="non-normative">(e.g. a license request)</span> is required:</p>
-                <ol>
-                  <li>
-<p>Let <var title="true">request</var> be a request generated by the <a href="#cdm">CDM</a> using the <var title="true">initData</var> and <var title="true">sessionType</var>.</p>
-                    <p>If <var title="true">sessionType</var> is <code>"temporary"</code>, the request is for a temporary non-persisted license.
-                    If <var title="true">sessionType</var> is <code>"persistent"</code>, the request is for a persistable license.</p>
-                    <p class="non-normative">Note: The license server may reject the requested type. It should not issue a different type.</p>
-                    <p><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 title="true">initData</var>.</p>
-                  </li>
-                  <li><p>If the <var title="true">initData</var> indicates a default URL relevant to <var title="true">keySystem</var>, let <var title="true">default URL</var> be that URL.</p></li>
-                </ol>
+<p>Let <var title="true">request</var> be a request <span class="non-normative">(e.g. a license request)</span> generated by the <a href="#cdm">CDM</a> using the <var title="true">initData</var> and <var title="true">sessionType</var>.</p>
+                <p>If <var title="true">sessionType</var> is <code>"temporary"</code>, the request is for a temporary non-persisted license.
+                If <var title="true">sessionType</var> is <code>"persistent"</code>, the request is for a persistable license.</p>
+                <p class="non-normative">Note: The license server may reject the requested type. It should not issue a different type.</p>
+                <p><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 title="true">initData</var>.</p>
               </li>
+              <li><p>If the <var title="true">initData</var> indicates a default URL relevant to <var title="true">keySystem</var>, let <var title="true">default URL</var> be that URL.</p></li>
             </ol>
           </li>
           <li><p>Let the <var title="true">session ID</var> be a unique <a href="#session-id">Session ID</a> string. <span class="non-normative">It may be obtained from <var title="true">cdm</var>.</span></p></li>
@@ -506,7 +501,7 @@
             </ol>
           </li>
           <li><p>If any of the preceding steps failed, reject <var>promise</var> with a new <code><a href="http://www.w3.org/TR/dom/#exception-domexception">DOMException</a></code> whose name is the appropriate <a href="#mediakeyerror-names">error name</a> and that has an appropriate message.</p></li>
-          <li><p>If <var title="true">request</var> is not null, run the <a href="#algorithms-queue-message">Queue a "message" Event</a> algorithm on the <var title="true">session</var>, providing <var title="true">request</var> and <var title="true">default URL</var>.</p></li>
+          <li><p>Run the <a href="#algorithms-queue-message">Queue a "message" Event</a> algorithm on the <var title="true">session</var>, providing <var title="true">request</var> and <var title="true">default URL</var>.</p></li>
           <li><p>Add an entry for the <var title="true">initDataType</var>-<var title="true">initData</var> pair to the <var title="true">list of active session Initialization Data</var> for this object.</p></li>
           <li><p>Resolve <var>promise</var> with <var title="true">session</var>.</p></li>
         </ol>
--- a/encrypted-media/encrypted-media.xml	Mon Apr 21 15:58:23 2014 -0700
+++ b/encrypted-media/encrypted-media.xml	Mon Apr 21 15:59:33 2014 -0700
@@ -463,17 +463,13 @@
           <li><p>Use the <var title="true">cdm</var> to execute the following steps:</p>
             <ol>
               <li><p>Process the <var title="true">initData</var>, interpreting it per <var title="true">initDataType</var>.</p></li>
-              <li><p>If a message exchange <span class="non-normative">(e.g. a license request)</span> is required:</p>
-                <ol>
-                  <li><p>Let <var title="true">request</var> be a request generated by the <a href="#cdm">CDM</a> using the <var title="true">initData</var> and <var title="true">sessionType</var>.</p>
-                    <p>If <var title="true">sessionType</var> is <code>"temporary"</code>, the request is for a temporary non-persisted license.
-                    If <var title="true">sessionType</var> is <code>"persistent"</code>, the request is for a persistable license.</p>
-                    <p class="non-normative">Note: The license server may reject the requested type. It should not issue a different type.</p>
-                    <p><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 title="true">initData</var>.</p>
-                  </li>
-                  <li><p>If the <var title="true">initData</var> indicates a default URL relevant to <var title="true">keySystem</var>, let <var title="true">default URL</var> be that URL.</p></li>
-                </ol>
+              <li><p>Let <var title="true">request</var> be a request <span class="non-normative">(e.g. a license request)</span> generated by the <a href="#cdm">CDM</a> using the <var title="true">initData</var> and <var title="true">sessionType</var>.</p>
+                <p>If <var title="true">sessionType</var> is <code>"temporary"</code>, the request is for a temporary non-persisted license.
+                If <var title="true">sessionType</var> is <code>"persistent"</code>, the request is for a persistable license.</p>
+                <p class="non-normative">Note: The license server may reject the requested type. It should not issue a different type.</p>
+                <p><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 title="true">initData</var>.</p>
               </li>
+              <li><p>If the <var title="true">initData</var> indicates a default URL relevant to <var title="true">keySystem</var>, let <var title="true">default URL</var> be that URL.</p></li>
             </ol>
           </li>
           <li><p>Let the <var title="true">session ID</var> be a unique <a href="#session-id">Session ID</a> string. <span class="non-normative">It may be obtained from <var title="true">cdm</var>.</span></p></li>
@@ -487,7 +483,7 @@
             </ol>
           </li>
           <li><p>If any of the preceding steps failed, reject <var>promise</var> with a new <code><dom4ref name="exception-domexception">DOMException</dom4ref></code> whose name is the appropriate <a href="#mediakeyerror-names">error name</a> and that has an appropriate message.</p></li>
-          <li><p>If <var title="true">request</var> is not null, run the <a href="#algorithms-queue-message">Queue a "message" Event</a> algorithm on the <var title="true">session</var>, providing <var title="true">request</var> and <var title="true">default URL</var>.</p></li>
+          <li><p>Run the <a href="#algorithms-queue-message">Queue a "message" Event</a> algorithm on the <var title="true">session</var>, providing <var title="true">request</var> and <var title="true">default URL</var>.</p></li>
           <li><p>Add an entry for the <var title="true">initDataType</var>-<var title="true">initData</var> pair to the <var title="true">list of active session Initialization Data</var> for this object.</p></li>
           <li><p>Resolve <var>promise</var> with <var title="true">session</var>.</p></li>
         </ol>