--- a/encrypted-media/encrypted-media.html Tue Jul 02 07:32:53 2013 -0700
+++ b/encrypted-media/encrypted-media.html Tue Jul 02 07:45:03 2013 -0700
@@ -220,6 +220,8 @@
<span class="non-normative">Key System providers should keep in mind that these will be used for comparison and discovery, so they should be easy to compare and the structure should remain reasonably simple.</span>
</p>
+ <p>Key System strings are compared using case-sensitive matching. <span class="non-normative">It is recommended that CDMs use simple lower-case ASCII key system strings.</span></p>
+
<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.
<span class="non-normative">It is a local binding between a request and key/license.
@@ -323,7 +325,7 @@
<ol>
<li><p>If <var title="true">keySystem</var> is null or an empty string, throw an <code><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-domexception-invalid_access_err">INVALID_ACCESS_ERR</a></code> exception and abort these steps.</p></li>
- <li><p>If <var title="true">keySystem</var> is not one of the user agent's supported <a href="#key-system">Key Systems</a>, throw a <code><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-domexception-not_supported_err">NOT_SUPPORTED_ERR</a></code> and abort these steps.</p></li>
+ <li><p>If <var title="true">keySystem</var> is not one of the user agent's supported <a href="#key-system">Key Systems</a>, throw a <code><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-domexception-not_supported_err">NOT_SUPPORTED_ERR</a></code> and abort these steps. Key system string comparison is case-sensitive.</p></li>
<li><p>Let <var title="true">cdm</var> be the <a href="#cdm">content decryption module</a> corresponding to <var title="true">keySystem</var>.</p></li>
@@ -448,7 +450,7 @@
<p>It must run the following steps:</p>
<ol>
- <li><p>If <var title="true">keySystem</var> contains an unrecognized or unsupported <a href="#key-system">Key System</a>, return false and abort these steps.</p></li>
+ <li><p>If <var title="true">keySystem</var> contains an unrecognized or unsupported <a href="#key-system">Key System</a>, return false and abort these steps. Key system string comparison is case-sensitive.</p></li>
<li><p>If <var title="true">type</var> is null or an empty string, return true and abort these steps.</p></li>
<li><p>If the <a href="#key-system">Key System</a> specified by <var title="true">keySystem</var> does not support decrypting the container and/or codec specified by <var title="true">type</var>, return false and abort these steps.</p></li>
<li><p>Return true.</p></li>
--- a/encrypted-media/encrypted-media.xml Tue Jul 02 07:32:53 2013 -0700
+++ b/encrypted-media/encrypted-media.xml Tue Jul 02 07:45:03 2013 -0700
@@ -216,6 +216,8 @@
<span class="non-normative">Key System providers should keep in mind that these will be used for comparison and discovery, so they should be easy to compare and the structure should remain reasonably simple.</span>
</p>
+ <p>Key System strings are compared using case-sensitive matching. <span class="non-normative">It is recommended that CDMs use simple lower-case ASCII key system strings.</span></p>
+
<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.
<span class="non-normative">It is a local binding between a request and key/license.
@@ -318,7 +320,7 @@
<ol>
<li><p>If <var title="true">keySystem</var> is null or an empty string, throw an <invalid-access-err/> exception and abort these steps.</p></li>
- <li><p>If <var title="true">keySystem</var> is not one of the user agent's supported <a href="#key-system">Key Systems</a>, throw a <not-supported-err/> and abort these steps.</p></li>
+ <li><p>If <var title="true">keySystem</var> is not one of the user agent's supported <a href="#key-system">Key Systems</a>, throw a <not-supported-err/> and abort these steps. Key system string comparison is case-sensitive.</p></li>
<li><p>Let <var title="true">cdm</var> be the <a href="#cdm">content decryption module</a> corresponding to <var title="true">keySystem</var>.</p></li>
@@ -432,7 +434,7 @@
<p>It must run the following steps:</p>
<ol>
- <li><p>If <var title="true">keySystem</var> contains an unrecognized or unsupported <a href="#key-system">Key System</a>, return false and abort these steps.</p></li>
+ <li><p>If <var title="true">keySystem</var> contains an unrecognized or unsupported <a href="#key-system">Key System</a>, return false and abort these steps. Key system string comparison is case-sensitive.</p></li>
<li><p>If <var title="true">type</var> is null or an empty string, return true and abort these steps.</p></li>
<li><p>If the <a href="#key-system">Key System</a> specified by <var title="true">keySystem</var> does not support decrypting the container and/or codec specified by <var title="true">type</var>, return false and abort these steps.</p></li>
<li><p>Return true.</p></li>