Bug 17286 - added onneedkey and updated IDL syntax
authorAdrian Bateman <adrianba@microsoft.com>
Sat, 01 Sep 2012 15:09:08 -0700
changeset 29 a307fdd7e7bd
parent 28 ca093bbbbefb
child 30 1ca7610af922
Bug 17286 - added onneedkey and updated IDL syntax
encrypted-media/encrypted-media.html
encrypted-media/encrypted-media.xml
encrypted-media/spec-html.xsl
--- a/encrypted-media/encrypted-media.html	Fri Aug 24 15:40:48 2012 -0700
+++ b/encrypted-media/encrypted-media.html	Sat Sep 01 15:09:08 2012 -0700
@@ -221,15 +221,17 @@
     <pre class="idl">
 partial interface <dfn id="dom-htmlmediaelement">HTMLMediaElement</dfn> {
   // Adds optional 'keySystem' parameter.
-  DOMString <a href="#dom-canplaytype">canPlayType</a>(in DOMString type, in DOMstring? <a href="#key-system">keySystem</a>);
+  DOMString <a href="#dom-canplaytype">canPlayType</a>(DOMString type, DOMstring? <a href="#key-system">keySystem</a>);
 
   // Encrypted Media
-             attribute <a href="#dom-mediakeys">MediaKeys</a> <a href="#dom-keys">keys</a>;
+  attribute <a href="#dom-mediakeys">MediaKeys</a> <a href="#dom-keys">keys</a>;
+  
+  attribute <a href="http://dev.w3.org/html5/spec/webappapis.html#eventhandler">EventHandler</a> <a href="#dom-onneedkey">onneedkey</a>;
 };
 
-[<a href="#dom-media-keys-constructor">Constructor</a> (in DOMString <a href="#key-system">keySystem</a>)]
+[<a href="#dom-media-keys-constructor">Constructor</a> (DOMString <a href="#key-system">keySystem</a>)]
 interface <dfn id="dom-mediakeys">MediaKeys</dfn> {
-  <a href="#dom-mediakeysession">MediaKeySession</a> <a href="#dom-createsession">createSession</a>(in DOMString? type, in Uint8Array? initData);
+  <a href="#dom-mediakeysession">MediaKeySession</a> <a href="#dom-createsession">createSession</a>(DOMString? type, Uint8Array? initData);
 
   readonly attribute DOMString <a href="#dom-keysystem">keySystem</a>;
 };
@@ -243,12 +245,12 @@
   readonly attribute DOMString <a href="#dom-sessionid">sessionId</a>;
 
   // session operations
-  void <a href="#dom-addkey">addKey</a>(in Uint8Array key);
+  void <a href="#dom-addkey">addKey</a>(Uint8Array key);
   void <a href="#dom-close">close</a>();
 };
 
 partial interface <dfn id="dom-htmlsourceelement">HTMLSourceElement</dfn> {
-             attribute DOMString <a href="#dom-sourcekeysystem">keySystem</a>;
+  attribute DOMString <a href="#dom-sourcekeysystem">keySystem</a>;
 };</pre>
 
     <p>The <dfn id="dom-canplaytype"><code>canPlayType(type, keySystem)</code></dfn> method is modified to add an optional second parameter to specify the <a href="#key-system">Key System</a>.</p>
@@ -300,6 +302,8 @@
       </li>
     </ol>
 
+    <p>The <dfn id="dom-onneedkey"><code>onneedkey</code></dfn> event handler for the <code><a href="#dom-needkey">needkey</a></code> event must be supported by all HTMLMediaElements as both a content attribute and an IDL attribute.</p>
+    
     <p>The <dfn id="dom-media-keys-constructor"><code>MediaKeys(<var title="true">keySystem</var>)</code></dfn> constructor must run the following steps:</p>
 
     <ol>
@@ -338,7 +342,7 @@
     </ol>
 
     <p>When destroying a <code><a href="#dom-mediakeys">MediaKeys</a></code> object, follow the steps in <code><a href="#dom-close">close()</a></code>.</p>
-
+    
     <p>The <dfn id="dom-createsession"><code>createSession(type, initData)</code></dfn> method must run the following steps:</p>
     <p class="non-normative">Note: The contents of <var title="true">initData</var> are container-specific <a href="#initialization-data">Initialization Data</a>.</p>
 
--- a/encrypted-media/encrypted-media.xml	Fri Aug 24 15:40:48 2012 -0700
+++ b/encrypted-media/encrypted-media.xml	Sat Sep 01 15:09:08 2012 -0700
@@ -217,15 +217,17 @@
     <pre class="idl">
 partial interface <precodedfn>HTMLMediaElement</precodedfn> {
   // Adds optional 'keySystem' parameter.
-  DOMString <premethodref>canPlayType</premethodref>(in DOMString type, in DOMstring? <a href="#key-system">keySystem</a>);
+  DOMString <premethodref>canPlayType</premethodref>(DOMString type, DOMstring? <a href="#key-system">keySystem</a>);
 
   // Encrypted Media
-             attribute <precoderef>MediaKeys</precoderef> <precoderef>keys</precoderef>;
+  attribute <precoderef>MediaKeys</precoderef> <precoderef>keys</precoderef>;
+  
+  attribute <EventHandler/> <precoderef>onneedkey</precoderef>;
 };
 
-[<a href="#dom-media-keys-constructor">Constructor</a> (in DOMString <a href="#key-system">keySystem</a>)]
+[<a href="#dom-media-keys-constructor">Constructor</a> (DOMString <a href="#key-system">keySystem</a>)]
 interface <precodedfn>MediaKeys</precodedfn> {
-  <precoderef>MediaKeySession</precoderef> <premethodref>createSession</premethodref>(in DOMString? type, in Uint8Array? initData);
+  <precoderef>MediaKeySession</precoderef> <premethodref>createSession</premethodref>(DOMString? type, Uint8Array? initData);
 
   readonly attribute DOMString <precoderef>keySystem</precoderef>;
 };
@@ -239,12 +241,12 @@
   readonly attribute DOMString <precoderef>sessionId</precoderef>;
 
   // session operations
-  void <premethodref>addKey</premethodref>(in Uint8Array key);
+  void <premethodref>addKey</premethodref>(Uint8Array key);
   void <premethodref>close</premethodref>();
 };
 
 partial interface <precodedfn>HTMLSourceElement</precodedfn> {
-             attribute DOMString <precoderef prefix="source">keySystem</precoderef>;
+  attribute DOMString <precoderef prefix="source">keySystem</precoderef>;
 };</pre>
 
     <p>The <methoddfn name="canPlayType">canPlayType(<var title="true">type</var>, <var title="true">keySystem</var>)</methoddfn> method is modified to add an optional second parameter to specify the <a href="#key-system">Key System</a>.</p>
@@ -293,6 +295,8 @@
       </li>
     </ol>
 
+    <p>The <codedfn>onneedkey</codedfn> event handler for the <coderef>needkey</coderef> event must be supported by all HTMLMediaElements as both a content attribute and an IDL attribute.</p>
+    
     <p>The <dfn id="dom-media-keys-constructor"><code>MediaKeys(<var title="true">keySystem</var>)</code></dfn> constructor must run the following steps:</p>
 
     <ol>
@@ -329,7 +333,7 @@
     </ol>
 
     <p>When destroying a <coderef>MediaKeys</coderef> object, follow the steps in <methodref>close</methodref>.</p>
-
+    
     <p>The <methoddfn name="createSession">createSession(<var title="true">type</var>, <var title="true">initData</var>)</methoddfn> method must run the following steps:</p>
     <p class="non-normative">Note: The contents of <var title="true">initData</var> are container-specific <a href="#initialization-data">Initialization Data</a>.</p>
 
--- a/encrypted-media/spec-html.xsl	Fri Aug 24 15:40:48 2012 -0700
+++ b/encrypted-media/spec-html.xsl	Sat Sep 01 15:09:08 2012 -0700
@@ -124,6 +124,10 @@
     <a><xsl:attribute name="href">http://dev.w3.org/html5/spec/webappapis.html#synchronous-section</xsl:attribute>synchronous section</a>
   </xsl:template>
 
+  <xsl:template match="//EventHandler">
+    <a><xsl:attribute name="href">http://dev.w3.org/html5/spec/webappapis.html#eventhandler</xsl:attribute>EventHandler</a>
+  </xsl:template>
+
   <xsl:template match="//media-element">
     <a><xsl:attribute name="href">http://dev.w3.org/html5/spec/video.html#media-element</xsl:attribute>media element</a>
   </xsl:template>