Bug 24941 - make derivedKeyType parameter to deriveKey non-nullable and remove null case handling from deriveKey method description
authorMark Watson <watsonm@netflix.com>
Wed, 05 Mar 2014 14:35:04 -0800
changeset 157 8ffbb056eed2
parent 156 bc6c87c2e6d4
child 158 4d1841776eb5
Bug 24941 - make derivedKeyType parameter to deriveKey non-nullable and remove null case handling from deriveKey method description
spec/Overview-WebCryptoAPI.xml
spec/Overview.html
--- a/spec/Overview-WebCryptoAPI.xml	Wed Mar 05 12:36:16 2014 -0800
+++ b/spec/Overview-WebCryptoAPI.xml	Wed Mar 05 14:35:04 2014 -0800
@@ -1305,7 +1305,7 @@
                           <a href="#dfn-KeyUsage">KeyUsage</a>[] keyUsages );
   Promise&lt;any&gt; <a href="#dfn-SubtleCrypto-method-deriveKey">deriveKey</a>(<a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a> algorithm,
                          <a href="#dfn-Key">Key</a> baseKey,
-                         <a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a>? derivedKeyType,
+                         <a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a> derivedKeyType,
                          boolean extractable,
                          <a href="#dfn-KeyUsage">KeyUsage</a>[] keyUsages );
   Promise&lt;any&gt; <a href="#dfn-SubtleCrypto-method-deriveBits">deriveBits</a>(<a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a> algorithm,
@@ -1991,30 +1991,19 @@
                 </p>
               </li>
               <li>
-                <dl class="switch">
-                  <dt>If <var>derivedKeyType</var> is null:</dt>
-                  <dd>Let <var>normalizedDerivedKeyAlgorithm</var> be null.</dd>
-                  <dt>Otherwise:</dt>
-                  <dd>
-                    <ol>
-                      <li>
-                        <p>
-                          Let <var>normalizedDerivedKeyAlgorithm</var> be the result of processing
-                          <var>derivedKeyType</var> according to the
-                          <a href="#algorithm-normalizing-rules">algorithm normalizing rules</a>.
-                        </p>
-                      </li>
-                      <li>
-                        <p>
-                          If <var>normalizedDerivedKeyAlgorithm</var> does not describe a
-                          <a href="#algorithms">registered algorithm</a> that supports the import
-                          derived key operation, terminate this algorithm
-                          with an error.
-                        </p>
-                      </li>
-                    </ol>
-                  </dd>
-                </dl>
+                <p>
+                  Let <var>normalizedDerivedKeyAlgorithm</var> be the result of processing
+                  <var>derivedKeyType</var> according to the
+                  <a href="#algorithm-normalizing-rules">algorithm normalizing rules</a>.
+                </p>
+              </li>
+              <li>
+                <p>
+                  If <var>normalizedDerivedKeyAlgorithm</var> does not describe a
+                  <a href="#algorithms">registered algorithm</a> that supports the get key length
+                  and import key operations, terminate this algorithm
+                  with an error.
+                </p>
               </li>
               <li>
                 <p>
--- a/spec/Overview.html	Wed Mar 05 12:36:16 2014 -0800
+++ b/spec/Overview.html	Wed Mar 05 14:35:04 2014 -0800
@@ -1313,7 +1313,7 @@
                           <a href="#dfn-KeyUsage">KeyUsage</a>[] keyUsages );
   Promise&lt;any&gt; <a href="#dfn-SubtleCrypto-method-deriveKey">deriveKey</a>(<a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a> algorithm,
                          <a href="#dfn-Key">Key</a> baseKey,
-                         <a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a>? derivedKeyType,
+                         <a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a> derivedKeyType,
                          boolean extractable,
                          <a href="#dfn-KeyUsage">KeyUsage</a>[] keyUsages );
   Promise&lt;any&gt; <a href="#dfn-SubtleCrypto-method-deriveBits">deriveBits</a>(<a href="#dfn-AlgorithmIdentifier">AlgorithmIdentifier</a> algorithm,
@@ -1999,30 +1999,19 @@
                 </p>
               </li>
               <li>
-                <dl class="switch">
-                  <dt>If <var>derivedKeyType</var> is null:</dt>
-                  <dd>Let <var>normalizedDerivedKeyAlgorithm</var> be null.</dd>
-                  <dt>Otherwise:</dt>
-                  <dd>
-                    <ol>
-                      <li>
-                        <p>
-                          Let <var>normalizedDerivedKeyAlgorithm</var> be the result of processing
-                          <var>derivedKeyType</var> according to the
-                          <a href="#algorithm-normalizing-rules">algorithm normalizing rules</a>.
-                        </p>
-                      </li>
-                      <li>
-                        <p>
-                          If <var>normalizedDerivedKeyAlgorithm</var> does not describe a
-                          <a href="#algorithms">registered algorithm</a> that supports the import
-                          derived key operation, terminate this algorithm
-                          with an error.
-                        </p>
-                      </li>
-                    </ol>
-                  </dd>
-                </dl>
+                <p>
+                  Let <var>normalizedDerivedKeyAlgorithm</var> be the result of processing
+                  <var>derivedKeyType</var> according to the
+                  <a href="#algorithm-normalizing-rules">algorithm normalizing rules</a>.
+                </p>
+              </li>
+              <li>
+                <p>
+                  If <var>normalizedDerivedKeyAlgorithm</var> does not describe a
+                  <a href="#algorithms">registered algorithm</a> that supports the get key length
+                  and import key operations, terminate this algorithm
+                  with an error.
+                </p>
               </li>
               <li>
                 <p>