Update for bug 10640
authorMs2ger <ms2ger@gmail.com>
Mon, 23 May 2011 17:19:52 +0200
changeset 5153a6c65b92d33
parent 514 6f4b30315c20
child 516 50641bbdfceb
Update for bug 10640
Overview.html
Overview.src.html
     1.1 --- a/Overview.html	Fri May 13 21:53:29 2011 +0200
     1.2 +++ b/Overview.html	Mon May 23 17:19:52 2011 +0200
     1.3 @@ -48,7 +48,7 @@
     1.4  <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
     1.5  <!--end-logo-->
     1.6   <h1>DOM Core</h1>
     1.7 - <h2 class="no-num no-toc" id="editor-s-draft-13-may-2011">Editor's Draft 13 May 2011</h2>
     1.8 + <h2 class="no-num no-toc" id="editor-s-draft-23-may-2011">Editor's Draft 23 May 2011</h2>
     1.9  
    1.10   <dl>
    1.11    <dt>This Version:
    1.12 @@ -90,7 +90,7 @@
    1.13  the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
    1.14  http://www.w3.org/TR/.</i>
    1.15  
    1.16 -<p>This is the 13 May 2011 Editor's Draft of DOM Core. Please send
    1.17 +<p>This is the 23 May 2011 Editor's Draft of DOM Core. Please send
    1.18  comments to
    1.19  <a href="mailto:www-dom@w3.org?subject=%5BDOMCore%5D%20">www-dom@w3.org</a>
    1.20  (<a href="http://lists.w3.org/Archives/Public/www-dom/">archived</a>)
    1.21 @@ -650,8 +650,8 @@
    1.22  
    1.23  <pre class="idl">interface <dfn id="event">Event</dfn> {
    1.24    readonly attribute DOMString <a href="#dom-event-type" title="dom-Event-type">type</a>;
    1.25 -  readonly attribute <a href="#eventtarget">EventTarget</a> <a href="#dom-event-target" title="dom-Event-target">target</a>;
    1.26 -  readonly attribute <a href="#eventtarget">EventTarget</a> <a href="#dom-event-currenttarget" title="dom-Event-currentTarget">currentTarget</a>;
    1.27 +  readonly attribute <a href="#eventtarget">EventTarget</a>? <a href="#dom-event-target" title="dom-Event-target">target</a>;
    1.28 +  readonly attribute <a href="#eventtarget">EventTarget</a>? <a href="#dom-event-currenttarget" title="dom-Event-currentTarget">currentTarget</a>;
    1.29  
    1.30    const unsigned short <a href="#dom-event-capturing_phase" title="dom-Event-CAPTURING_PHASE">CAPTURING_PHASE</a> = 1;
    1.31    const unsigned short <a href="#dom-event-at_target" title="dom-Event-AT_TARGET">AT_TARGET</a> = 2;
    1.32 @@ -775,7 +775,7 @@
    1.33  <h3 id="interface-customevent"><span class="secno">4.2 </span>Interface <code><a href="#customevent">CustomEvent</a></code></h3>
    1.34  
    1.35  <pre class="idl">interface <dfn id="customevent">CustomEvent</dfn> : <a href="#event">Event</a> {
    1.36 -  readonly attribute object <a href="#dom-customevent-detail" title="dom-CustomEvent-detail">detail</a>;
    1.37 +  readonly attribute object? <a href="#dom-customevent-detail" title="dom-CustomEvent-detail">detail</a>;
    1.38    void <a href="#dom-customevent-initcustomevent" title="dom-CustomEvent-initCustomEvent">initCustomEvent</a>(DOMString <var title="">type</var>, boolean <var title="">bubbles</var>, boolean <var title="">cancelable</var>, object <var title="">detail</var>);
    1.39  };</pre>
    1.40  
    1.41 @@ -805,8 +805,8 @@
    1.42  <h3 id="interface-eventtarget"><span class="secno">4.3 </span>Interface <code><a href="#eventtarget">EventTarget</a></code></h3>
    1.43  
    1.44  <pre class="idl">interface <dfn id="eventtarget">EventTarget</dfn> {
    1.45 -  void <a href="#dom-eventtarget-addeventlistener" title="dom-EventTarget-addEventListener">addEventListener</a>(DOMString <var title="">type</var>, <a href="#eventlistener">EventListener</a> <var title="">listener</var>, optional boolean <var title="">capture</var>);
    1.46 -  void <a href="#dom-eventtarget-removeeventlistener" title="dom-EventTarget-removeEventListener">removeEventListener</a>(DOMString <var title="">type</var>, <a href="#eventlistener">EventListener</a> <var title="">listener</var>, optional boolean <var title="">capture</var>);
    1.47 +  void <a href="#dom-eventtarget-addeventlistener" title="dom-EventTarget-addEventListener">addEventListener</a>(DOMString <var title="">type</var>, <a href="#eventlistener">EventListener</a>? <var title="">listener</var>, optional boolean <var title="">capture</var>);
    1.48 +  void <a href="#dom-eventtarget-removeeventlistener" title="dom-EventTarget-removeEventListener">removeEventListener</a>(DOMString <var title="">type</var>, <a href="#eventlistener">EventListener</a>? <var title="">listener</var>, optional boolean <var title="">capture</var>);
    1.49    boolean <a href="#dom-eventtarget-dispatchevent" title="dom-EventTarget-dispatchEvent">dispatchEvent</a>(<a href="#event">Event</a> <var title="">event</var>);
    1.50  };
    1.51  
    1.52 @@ -1182,15 +1182,15 @@
    1.53    boolean <span title=dom-Node-hasAttributes>hasAttributes</span>();
    1.54    readonly attribute <span>NamedNodeMap</span> <span title=dom-Node-attributes>attributes</span>;
    1.55  
    1.56 -  -->readonly attribute <a href="#document">Document</a> <a href="#dom-node-ownerdocument" title="dom-Node-ownerDocument">ownerDocument</a>;
    1.57 -  readonly attribute <a href="#node">Node</a> <a href="#dom-node-parentnode" title="dom-Node-parentNode">parentNode</a>;
    1.58 -  readonly attribute <a href="#element">Element</a> <a href="#dom-node-parentelement" title="dom-Node-parentElement">parentElement</a>;
    1.59 +  -->readonly attribute <a href="#document">Document</a>? <a href="#dom-node-ownerdocument" title="dom-Node-ownerDocument">ownerDocument</a>;
    1.60 +  readonly attribute <a href="#node">Node</a>? <a href="#dom-node-parentnode" title="dom-Node-parentNode">parentNode</a>;
    1.61 +  readonly attribute <a href="#element">Element</a>? <a href="#dom-node-parentelement" title="dom-Node-parentElement">parentElement</a>;
    1.62    boolean <a href="#dom-node-haschildnodes" title="dom-Node-hasChildNodes">hasChildNodes</a>();
    1.63    readonly attribute <a href="#nodelist">NodeList</a> <a href="#dom-node-childnodes" title="dom-Node-childNodes">childNodes</a>;
    1.64 -  readonly attribute <a href="#node">Node</a> <a href="#dom-node-firstchild" title="dom-Node-firstChild">firstChild</a>;
    1.65 -  readonly attribute <a href="#node">Node</a> <a href="#dom-node-lastchild" title="dom-Node-lastChild">lastChild</a>;
    1.66 -  readonly attribute <a href="#node">Node</a> <a href="#dom-node-previoussibling" title="dom-Node-previousSibling">previousSibling</a>;
    1.67 -  readonly attribute <a href="#node">Node</a> <a href="#dom-node-nextsibling" title="dom-Node-nextSibling">nextSibling</a>;
    1.68 +  readonly attribute <a href="#node">Node</a>? <a href="#dom-node-firstchild" title="dom-Node-firstChild">firstChild</a>;
    1.69 +  readonly attribute <a href="#node">Node</a>? <a href="#dom-node-lastchild" title="dom-Node-lastChild">lastChild</a>;
    1.70 +  readonly attribute <a href="#node">Node</a>? <a href="#dom-node-previoussibling" title="dom-Node-previousSibling">previousSibling</a>;
    1.71 +  readonly attribute <a href="#node">Node</a>? <a href="#dom-node-nextsibling" title="dom-Node-nextSibling">nextSibling</a>;
    1.72  
    1.73    const unsigned short <a href="#dom-node-document_position_disconnected" title="dom-Node-DOCUMENT_POSITION_DISCONNECTED">DOCUMENT_POSITION_DISCONNECTED</a> = 0x01;
    1.74    const unsigned short <a href="#dom-node-document_position_preceding" title="dom-Node-DOCUMENT_POSITION_PRECEDING">DOCUMENT_POSITION_PRECEDING</a> = 0x02;
    1.75 @@ -1200,17 +1200,17 @@
    1.76    const unsigned short <a href="#dom-node-document_position_implementation_specific" title="dom-Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC">DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</a> = 0x20;
    1.77    unsigned short <a href="#dom-node-comparedocumentposition" title="dom-Node-compareDocumentPosition">compareDocumentPosition</a>(<a href="#node">Node</a> <var title="">other</var>);
    1.78  
    1.79 -           attribute DOMString <a href="#dom-node-nodevalue" title="dom-Node-nodeValue">nodeValue</a>;
    1.80 -           attribute DOMString <a href="#dom-node-textcontent" title="dom-Node-textContent">textContent</a>;
    1.81 -  <a href="#node">Node</a> <a href="#dom-node-insertbefore" title="dom-Node-insertBefore">insertBefore</a>([NoNull] <a href="#node">Node</a> <var title="">newChild</var>, <a href="#node">Node</a> <var title="">refChild</var>);
    1.82 -  <a href="#node">Node</a> <a href="#dom-node-replacechild" title="dom-Node-replaceChild">replaceChild</a>([NoNull] <a href="#node">Node</a> <var title="">newChild</var>, [NoNull] <a href="#node">Node</a> <var title="">oldChild</var>);
    1.83 -  <a href="#node">Node</a> <a href="#dom-node-removechild" title="dom-Node-removeChild">removeChild</a>([NoNull] <a href="#node">Node</a> <var title="">oldChild</var>);
    1.84 -  <a href="#node">Node</a> <a href="#dom-node-appendchild" title="dom-Node-appendChild">appendChild</a>([NoNull] <a href="#node">Node</a> <var title="">newChild</var>);<!--
    1.85 +           attribute DOMString? <a href="#dom-node-nodevalue" title="dom-Node-nodeValue">nodeValue</a>;
    1.86 +           attribute DOMString? <a href="#dom-node-textcontent" title="dom-Node-textContent">textContent</a>;
    1.87 +  <a href="#node">Node</a> <a href="#dom-node-insertbefore" title="dom-Node-insertBefore">insertBefore</a>(<a href="#node">Node</a> <var title="">newChild</var>, <a href="#node">Node</a>? <var title="">refChild</var>);
    1.88 +  <a href="#node">Node</a> <a href="#dom-node-replacechild" title="dom-Node-replaceChild">replaceChild</a>(<a href="#node">Node</a> <var title="">newChild</var>, <a href="#node">Node</a> <var title="">oldChild</var>);
    1.89 +  <a href="#node">Node</a> <a href="#dom-node-removechild" title="dom-Node-removeChild">removeChild</a>(<a href="#node">Node</a> <var title="">oldChild</var>);
    1.90 +  <a href="#node">Node</a> <a href="#dom-node-appendchild" title="dom-Node-appendChild">appendChild</a>(<a href="#node">Node</a> <var title="">newChild</var>);<!--
    1.91    void normalize();-->
    1.92  
    1.93    <a href="#node">Node</a> <a href="#dom-node-clonenode" title="dom-Node-cloneNode">cloneNode</a>(boolean <var title="">deep</var>);
    1.94 -  boolean <a href="#dom-node-issamenode" title="dom-Node-isSameNode">isSameNode</a>(<a href="#node">Node</a> <var title="">node</var>);
    1.95 -  boolean <a href="#dom-node-isequalnode" title="dom-Node-isEqualNode">isEqualNode</a>(<a href="#node">Node</a> <var title="">node</var>);
    1.96 +  boolean <a href="#dom-node-issamenode" title="dom-Node-isSameNode">isSameNode</a>(<a href="#node">Node</a>? <var title="">node</var>);
    1.97 +  boolean <a href="#dom-node-isequalnode" title="dom-Node-isEqualNode">isEqualNode</a>(<a href="#node">Node</a>? <var title="">node</var>);
    1.98  
    1.99    DOMString <a href="#dom-node-lookupprefix" title="dom-Node-lookupPrefix">lookupPrefix</a>([TreatNullAs=EmptyString] DOMString <var title="">namespace</var>);
   1.100    DOMString <a href="#dom-node-lookupnamespaceuri" title="dom-Node-lookupNamespaceURI">lookupNamespaceURI</a>(DOMString? <var title="">prefix</var>);
   1.101 @@ -1949,12 +1949,12 @@
   1.102             attribute DOMString <a href="#dom-document-documenturi" title="dom-Document-documentURI">documentURI</a>;
   1.103    readonly attribute DOMString <a href="#dom-document-compatmode" title="dom-Document-compatMode">compatMode</a>;
   1.104  
   1.105 -  readonly attribute <a href="#documenttype">DocumentType</a> <a href="#dom-document-doctype" title="dom-Document-doctype">doctype</a>;
   1.106 -  readonly attribute <a href="#element">Element</a> <a href="#dom-document-documentelement" title="dom-Document-documentElement">documentElement</a>;
   1.107 +  readonly attribute <a href="#documenttype">DocumentType</a>? <a href="#dom-document-doctype" title="dom-Document-doctype">doctype</a>;
   1.108 +  readonly attribute <a href="#element">Element</a>? <a href="#dom-document-documentelement" title="dom-Document-documentElement">documentElement</a>;
   1.109    <a href="#nodelist">NodeList</a> <a href="#dom-document-getelementsbytagname" title="dom-Document-getElementsByTagName">getElementsByTagName</a>(DOMString <var title="">qualifiedName</var>);
   1.110    <a href="#nodelist">NodeList</a> <a href="#dom-document-getelementsbytagnamens" title="dom-Document-getElementsByTagNameNS">getElementsByTagNameNS</a>(DOMString <var title="">namespace</var>, DOMString <var title="">localName</var>);
   1.111    <a href="#nodelist">NodeList</a> <a href="#dom-document-getelementsbyclassname" title="dom-Document-getElementsByClassName">getElementsByClassName</a>(DOMString <var title="">classNames</var>);
   1.112 -  <a href="#element">Element</a> <a href="#dom-document-getelementbyid" title="dom-Document-getElementById">getElementById</a>(DOMString <var title="">elementId</var>);
   1.113 +  <a href="#element">Element</a>? <a href="#dom-document-getelementbyid" title="dom-Document-getElementById">getElementById</a>(DOMString <var title="">elementId</var>);
   1.114  
   1.115    <a href="#element">Element</a> <a href="#dom-document-createelement" title="dom-Document-createElement">createElement</a>([TreatNullAs=EmptyString] DOMString <var title="">localName</var>);
   1.116    <a href="#element">Element</a> <a href="#dom-document-createelementns" title="dom-Document-createElementNS">createElementNS</a>(DOMString <var title="">namespace</var>, DOMString <var title="">qualifiedName</var>);
   1.117 @@ -2528,8 +2528,8 @@
   1.118  
   1.119  <h3 id="interface-element"><span class="secno">5.6 </span>Interface <code><a href="#element">Element</a></code></h3>
   1.120  <pre class="idl">interface <dfn id="element">Element</dfn> : <a href="#node">Node</a> {
   1.121 -  readonly attribute DOMString <a href="#dom-element-namespaceuri" title="dom-Element-namespaceURI">namespaceURI</a>;
   1.122 -  readonly attribute DOMString <a href="#dom-element-prefix" title="dom-Element-prefix">prefix</a>;
   1.123 +  readonly attribute DOMString? <a href="#dom-element-namespaceuri" title="dom-Element-namespaceURI">namespaceURI</a>;
   1.124 +  readonly attribute DOMString? <a href="#dom-element-prefix" title="dom-Element-prefix">prefix</a>;
   1.125    readonly attribute DOMString <a href="#dom-element-localname" title="dom-Element-localName">localName</a>;
   1.126    readonly attribute DOMString <a href="#dom-element-tagname" title="dom-Element-tagName">tagName</a>;
   1.127  
   1.128 @@ -2553,10 +2553,10 @@
   1.129    <a href="#nodelist">NodeList</a> <a href="#dom-element-getelementsbyclassname" title="dom-Element-getElementsByClassName">getElementsByClassName</a>(DOMString <var title="">classNames</var>);
   1.130  
   1.131    readonly attribute <a href="#htmlcollection">HTMLCollection</a> <a href="#dom-element-children" title="dom-Element-children">children</a>;
   1.132 -  readonly attribute <a href="#element">Element</a> <a href="#dom-element-firstelementchild" title="dom-Element-firstElementChild">firstElementChild</a>;
   1.133 -  readonly attribute <a href="#element">Element</a> <a href="#dom-element-lastelementchild" title="dom-Element-lastElementChild">lastElementChild</a>;
   1.134 -  readonly attribute <a href="#element">Element</a> <a href="#dom-element-previouselementsibling" title="dom-Element-previousElementSibling">previousElementSibling</a>;
   1.135 -  readonly attribute <a href="#element">Element</a> <a href="#dom-element-nextelementsibling" title="dom-Element-nextElementSibling">nextElementSibling</a>;
   1.136 +  readonly attribute <a href="#element">Element</a>? <a href="#dom-element-firstelementchild" title="dom-Element-firstElementChild">firstElementChild</a>;
   1.137 +  readonly attribute <a href="#element">Element</a>? <a href="#dom-element-lastelementchild" title="dom-Element-lastElementChild">lastElementChild</a>;
   1.138 +  readonly attribute <a href="#element">Element</a>? <a href="#dom-element-previouselementsibling" title="dom-Element-previousElementSibling">previousElementSibling</a>;
   1.139 +  readonly attribute <a href="#element">Element</a>? <a href="#dom-element-nextelementsibling" title="dom-Element-nextElementSibling">nextElementSibling</a>;
   1.140    readonly attribute unsigned long <a href="#dom-element-childelementcount" title="dom-Element-childElementCount">childElementCount</a>;<!--
   1.141  
   1.142    readonly attribute TypeInfo schemaTypeInfo;
   1.143 @@ -3099,7 +3099,7 @@
   1.144    <a href="#text">Text</a> <a href="#dom-text-splittext" title="dom-Text-splitText">splitText</a>(unsigned long <var title="">offset</var>);<!--
   1.145    readonly attribute boolean isElementContentWhitespace;-->
   1.146    readonly attribute DOMString <a href="#dom-text-wholetext" title="dom-Text-wholeText">wholeText</a>;
   1.147 -  <a href="#text">Text</a> <a href="#dom-text-replacewholetext" title="dom-Text-replaceWholeText">replaceWholeText</a>(DOMString <var title="">data</var>);
   1.148 +  <a href="#text">Text</a>? <a href="#dom-text-replacewholetext" title="dom-Text-replaceWholeText">replaceWholeText</a>(DOMString <var title="">data</var>);
   1.149  };</pre>
   1.150  
   1.151  <p>The
   1.152 @@ -3219,7 +3219,7 @@
   1.153  <a href="#concept-collection" title="concept-collection">collection</a>.
   1.154  
   1.155  <pre class="idl">interface <dfn id="nodelist">NodeList</dfn> {
   1.156 -  getter <a href="#node">Node</a> <a href="#dom-nodelist-item" title="dom-NodeList-item">item</a>(unsigned long index);
   1.157 +  getter <a href="#node">Node</a>? <a href="#dom-nodelist-item" title="dom-NodeList-item">item</a>(unsigned long index);
   1.158    readonly attribute unsigned long <a href="#dom-nodelist-length" title="dom-NodeList-length">length</a>;
   1.159  };</pre>
   1.160  
   1.161 @@ -3261,8 +3261,8 @@
   1.162  
   1.163  <pre class="idl">interface <dfn id="htmlcollection">HTMLCollection</dfn> {
   1.164    readonly attribute unsigned long <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a>;
   1.165 -  getter <a href="#element">Element</a> <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>(unsigned long index);
   1.166 -  getter object <a href="#dom-htmlcollection-nameditem" title="dom-HTMLCollection-namedItem">namedItem</a>(DOMString name); // only returns <code><a href="#element">Element</a></code>
   1.167 +  getter <a href="#element">Element</a>? <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>(unsigned long index);
   1.168 +  getter object? <a href="#dom-htmlcollection-nameditem" title="dom-HTMLCollection-namedItem">namedItem</a>(DOMString name); // only returns <code><a href="#element">Element</a></code>
   1.169  };</pre>
   1.170  
   1.171  <dl class="domintro">
   1.172 @@ -3382,7 +3382,7 @@
   1.173  
   1.174  <pre class="idl">interface <dfn id="domstringlist">DOMStringList</dfn> {
   1.175    readonly attribute unsigned long <a href="#dom-domstringlist-length" title="dom-DOMStringList-length">length</a>;
   1.176 -  getter DOMString <a href="#dom-domstringlist-item" title="dom-DOMStringList-item">item</a>(unsigned long <var title="">index</var>);
   1.177 +  getter DOMString? <a href="#dom-domstringlist-item" title="dom-DOMStringList-item">item</a>(unsigned long <var title="">index</var>);
   1.178    boolean <a href="#dom-domstringlist-contains" title="dom-DOMStringList-contains">contains</a>(DOMString <var title="">string</var>);
   1.179  };</pre>
   1.180  
   1.181 @@ -3442,7 +3442,7 @@
   1.182  
   1.183  <pre class="idl">interface <dfn id="domtokenlist">DOMTokenList</dfn> {
   1.184    readonly attribute unsigned long <a href="#dom-domtokenlist-length" title="dom-DOMTokenList-length">length</a>;
   1.185 -  getter DOMString <a href="#dom-domtokenlist-item" title="dom-DOMTokenList-item">item</a>(unsigned long index);
   1.186 +  getter DOMString? <a href="#dom-domtokenlist-item" title="dom-DOMTokenList-item">item</a>(unsigned long index);
   1.187    boolean <a href="#dom-domtokenlist-contains" title="dom-DOMTokenList-contains">contains</a>(DOMString token);
   1.188    void <a href="#dom-domtokenlist-add" title="dom-DOMTokenList-add">add</a>(DOMString token);
   1.189    void <a href="#dom-domtokenlist-remove" title="dom-DOMTokenList-remove">remove</a>(DOMString token);
     2.1 --- a/Overview.src.html	Fri May 13 21:53:29 2011 +0200
     2.2 +++ b/Overview.src.html	Mon May 23 17:19:52 2011 +0200
     2.3 @@ -597,8 +597,8 @@
     2.4  
     2.5  <pre class="idl">interface <dfn>Event</dfn> {
     2.6    readonly attribute DOMString <span title=dom-Event-type>type</span>;
     2.7 -  readonly attribute <span>EventTarget</span> <span title=dom-Event-target>target</span>;
     2.8 -  readonly attribute <span>EventTarget</span> <span title=dom-Event-currentTarget>currentTarget</span>;
     2.9 +  readonly attribute <span>EventTarget</span>? <span title=dom-Event-target>target</span>;
    2.10 +  readonly attribute <span>EventTarget</span>? <span title=dom-Event-currentTarget>currentTarget</span>;
    2.11  
    2.12    const unsigned short <span title=dom-Event-CAPTURING_PHASE>CAPTURING_PHASE</span> = 1;
    2.13    const unsigned short <span title=dom-Event-AT_TARGET>AT_TARGET</span> = 2;
    2.14 @@ -722,7 +722,7 @@
    2.15  <h3>Interface <code>CustomEvent</code></h3>
    2.16  
    2.17  <pre class=idl>interface <dfn>CustomEvent</dfn> : <span>Event</span> {
    2.18 -  readonly attribute object <span title=dom-CustomEvent-detail>detail</span>;
    2.19 +  readonly attribute object? <span title=dom-CustomEvent-detail>detail</span>;
    2.20    void <span title=dom-CustomEvent-initCustomEvent>initCustomEvent</span>(DOMString <var title>type</var>, boolean <var title>bubbles</var>, boolean <var title>cancelable</var>, object <var title>detail</var>);
    2.21  };</pre>
    2.22  
    2.23 @@ -752,8 +752,8 @@
    2.24  <h3>Interface <code>EventTarget</code></h3>
    2.25  
    2.26  <pre class=idl>interface <dfn>EventTarget</dfn> {
    2.27 -  void <span title=dom-EventTarget-addEventListener>addEventListener</span>(DOMString <var title>type</var>, <span>EventListener</span> <var title>listener</var>, optional boolean <var title>capture</var>);
    2.28 -  void <span title=dom-EventTarget-removeEventListener>removeEventListener</span>(DOMString <var title>type</var>, <span>EventListener</span> <var title>listener</var>, optional boolean <var title>capture</var>);
    2.29 +  void <span title=dom-EventTarget-addEventListener>addEventListener</span>(DOMString <var title>type</var>, <span>EventListener</span>? <var title>listener</var>, optional boolean <var title>capture</var>);
    2.30 +  void <span title=dom-EventTarget-removeEventListener>removeEventListener</span>(DOMString <var title>type</var>, <span>EventListener</span>? <var title>listener</var>, optional boolean <var title>capture</var>);
    2.31    boolean <span title=dom-EventTarget-dispatchEvent>dispatchEvent</span>(<span>Event</span> <var title>event</var>);
    2.32  };
    2.33  
    2.34 @@ -1129,15 +1129,15 @@
    2.35    boolean <span title=dom-Node-hasAttributes>hasAttributes</span>();
    2.36    readonly attribute <span>NamedNodeMap</span> <span title=dom-Node-attributes>attributes</span>;
    2.37  
    2.38 -  -->readonly attribute <span>Document</span> <span title=dom-Node-ownerDocument>ownerDocument</span>;
    2.39 -  readonly attribute <span>Node</span> <span title=dom-Node-parentNode>parentNode</span>;
    2.40 -  readonly attribute <span>Element</span> <span title=dom-Node-parentElement>parentElement</span>;
    2.41 +  -->readonly attribute <span>Document</span>? <span title=dom-Node-ownerDocument>ownerDocument</span>;
    2.42 +  readonly attribute <span>Node</span>? <span title=dom-Node-parentNode>parentNode</span>;
    2.43 +  readonly attribute <span>Element</span>? <span title=dom-Node-parentElement>parentElement</span>;
    2.44    boolean <span title=dom-Node-hasChildNodes>hasChildNodes</span>();
    2.45    readonly attribute <span>NodeList</span> <span title=dom-Node-childNodes>childNodes</span>;
    2.46 -  readonly attribute <span>Node</span> <span title=dom-Node-firstChild>firstChild</span>;
    2.47 -  readonly attribute <span>Node</span> <span title=dom-Node-lastChild>lastChild</span>;
    2.48 -  readonly attribute <span>Node</span> <span title=dom-Node-previousSibling>previousSibling</span>;
    2.49 -  readonly attribute <span>Node</span> <span title=dom-Node-nextSibling>nextSibling</span>;
    2.50 +  readonly attribute <span>Node</span>? <span title=dom-Node-firstChild>firstChild</span>;
    2.51 +  readonly attribute <span>Node</span>? <span title=dom-Node-lastChild>lastChild</span>;
    2.52 +  readonly attribute <span>Node</span>? <span title=dom-Node-previousSibling>previousSibling</span>;
    2.53 +  readonly attribute <span>Node</span>? <span title=dom-Node-nextSibling>nextSibling</span>;
    2.54  
    2.55    const unsigned short <span title=dom-Node-DOCUMENT_POSITION_DISCONNECTED>DOCUMENT_POSITION_DISCONNECTED</span> = 0x01;
    2.56    const unsigned short <span title=dom-Node-DOCUMENT_POSITION_PRECEDING>DOCUMENT_POSITION_PRECEDING</span> = 0x02;
    2.57 @@ -1147,17 +1147,17 @@
    2.58    const unsigned short <span title=dom-Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC>DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</span> = 0x20;
    2.59    unsigned short <span title=dom-Node-compareDocumentPosition>compareDocumentPosition</span>(<span>Node</span> <var title>other</var>);
    2.60  
    2.61 -           attribute DOMString <span title=dom-Node-nodeValue>nodeValue</span>;
    2.62 -           attribute DOMString <span title=dom-Node-textContent>textContent</span>;
    2.63 -  <span>Node</span> <span title=dom-Node-insertBefore>insertBefore</span>([NoNull] <span>Node</span> <var title>newChild</var>, <span>Node</span> <var title>refChild</var>);
    2.64 -  <span>Node</span> <span title=dom-Node-replaceChild>replaceChild</span>([NoNull] <span>Node</span> <var title>newChild</var>, [NoNull] <span>Node</span> <var title>oldChild</var>);
    2.65 -  <span>Node</span> <span title=dom-Node-removeChild>removeChild</span>([NoNull] <span>Node</span> <var title>oldChild</var>);
    2.66 -  <span>Node</span> <span title=dom-Node-appendChild>appendChild</span>([NoNull] <span>Node</span> <var title>newChild</var>);<!--
    2.67 +           attribute DOMString? <span title=dom-Node-nodeValue>nodeValue</span>;
    2.68 +           attribute DOMString? <span title=dom-Node-textContent>textContent</span>;
    2.69 +  <span>Node</span> <span title=dom-Node-insertBefore>insertBefore</span>(<span>Node</span> <var title>newChild</var>, <span>Node</span>? <var title>refChild</var>);
    2.70 +  <span>Node</span> <span title=dom-Node-replaceChild>replaceChild</span>(<span>Node</span> <var title>newChild</var>, <span>Node</span> <var title>oldChild</var>);
    2.71 +  <span>Node</span> <span title=dom-Node-removeChild>removeChild</span>(<span>Node</span> <var title>oldChild</var>);
    2.72 +  <span>Node</span> <span title=dom-Node-appendChild>appendChild</span>(<span>Node</span> <var title>newChild</var>);<!--
    2.73    void normalize();-->
    2.74  
    2.75    <span>Node</span> <span title=dom-Node-cloneNode>cloneNode</span>(boolean <var title>deep</var>);
    2.76 -  boolean <span title=dom-Node-isSameNode>isSameNode</span>(<span>Node</span> <var title>node</var>);
    2.77 -  boolean <span title=dom-Node-isEqualNode>isEqualNode</span>(<span>Node</span> <var title>node</var>);
    2.78 +  boolean <span title=dom-Node-isSameNode>isSameNode</span>(<span>Node</span>? <var title>node</var>);
    2.79 +  boolean <span title=dom-Node-isEqualNode>isEqualNode</span>(<span>Node</span>? <var title>node</var>);
    2.80  
    2.81    DOMString <span title=dom-Node-lookupPrefix>lookupPrefix</span>([TreatNullAs=EmptyString] DOMString <var title>namespace</var>);
    2.82    DOMString <span title=dom-Node-lookupNamespaceURI>lookupNamespaceURI</span>(DOMString? <var title>prefix</var>);
    2.83 @@ -1900,12 +1900,12 @@
    2.84             attribute DOMString <span title=dom-Document-documentURI>documentURI</span>;
    2.85    readonly attribute DOMString <span title=dom-Document-compatMode>compatMode</span>;
    2.86  
    2.87 -  readonly attribute <span>DocumentType</span> <span title=dom-Document-doctype>doctype</span>;
    2.88 -  readonly attribute <span>Element</span> <span title=dom-Document-documentElement>documentElement</span>;
    2.89 +  readonly attribute <span>DocumentType</span>? <span title=dom-Document-doctype>doctype</span>;
    2.90 +  readonly attribute <span>Element</span>? <span title=dom-Document-documentElement>documentElement</span>;
    2.91    <span>NodeList</span> <span title=dom-Document-getElementsByTagName>getElementsByTagName</span>(DOMString <var title>qualifiedName</var>);
    2.92    <span>NodeList</span> <span title=dom-Document-getElementsByTagNameNS>getElementsByTagNameNS</span>(DOMString <var title>namespace</var>, DOMString <var title>localName</var>);
    2.93    <span>NodeList</span> <span title=dom-Document-getElementsByClassName>getElementsByClassName</span>(DOMString <var title>classNames</var>);
    2.94 -  <span>Element</span> <span title=dom-Document-getElementById>getElementById</span>(DOMString <var title>elementId</var>);
    2.95 +  <span>Element</span>? <span title=dom-Document-getElementById>getElementById</span>(DOMString <var title>elementId</var>);
    2.96  
    2.97    <span>Element</span> <span title=dom-Document-createElement>createElement</span>([TreatNullAs=EmptyString] DOMString <var title>localName</var>);
    2.98    <span>Element</span> <span title=dom-Document-createElementNS>createElementNS</span>(DOMString <var title>namespace</var>, DOMString <var title>qualifiedName</var>);
    2.99 @@ -2527,8 +2527,8 @@
   2.100  
   2.101  <h3>Interface <code>Element</code></h3>
   2.102  <pre class=idl>interface <dfn>Element</dfn> : <span>Node</span> {
   2.103 -  readonly attribute DOMString <span title=dom-Element-namespaceURI>namespaceURI</span>;
   2.104 -  readonly attribute DOMString <span title=dom-Element-prefix>prefix</span>;
   2.105 +  readonly attribute DOMString? <span title=dom-Element-namespaceURI>namespaceURI</span>;
   2.106 +  readonly attribute DOMString? <span title=dom-Element-prefix>prefix</span>;
   2.107    readonly attribute DOMString <span title=dom-Element-localName>localName</span>;
   2.108    readonly attribute DOMString <span title=dom-Element-tagName>tagName</span>;
   2.109  
   2.110 @@ -2552,10 +2552,10 @@
   2.111    <span>NodeList</span> <span title=dom-Element-getElementsByClassName>getElementsByClassName</span>(DOMString <var title>classNames</var>);
   2.112  
   2.113    readonly attribute <span>HTMLCollection</span> <span title=dom-Element-children>children</span>;
   2.114 -  readonly attribute <span>Element</span> <span title=dom-Element-firstElementChild>firstElementChild</span>;
   2.115 -  readonly attribute <span>Element</span> <span title=dom-Element-lastElementChild>lastElementChild</span>;
   2.116 -  readonly attribute <span>Element</span> <span title=dom-Element-previousElementSibling>previousElementSibling</span>;
   2.117 -  readonly attribute <span>Element</span> <span title=dom-Element-nextElementSibling>nextElementSibling</span>;
   2.118 +  readonly attribute <span>Element</span>? <span title=dom-Element-firstElementChild>firstElementChild</span>;
   2.119 +  readonly attribute <span>Element</span>? <span title=dom-Element-lastElementChild>lastElementChild</span>;
   2.120 +  readonly attribute <span>Element</span>? <span title=dom-Element-previousElementSibling>previousElementSibling</span>;
   2.121 +  readonly attribute <span>Element</span>? <span title=dom-Element-nextElementSibling>nextElementSibling</span>;
   2.122    readonly attribute unsigned long <span title=dom-Element-childElementCount>childElementCount</span>;<!--
   2.123  
   2.124    readonly attribute TypeInfo schemaTypeInfo;
   2.125 @@ -3108,7 +3108,7 @@
   2.126    <span>Text</span> <span title=dom-Text-splitText>splitText</span>(unsigned long <var title>offset</var>);<!--
   2.127    readonly attribute boolean isElementContentWhitespace;-->
   2.128    readonly attribute DOMString <span title=dom-Text-wholeText>wholeText</span>;
   2.129 -  <span>Text</span> <span title=dom-Text-replaceWholeText>replaceWholeText</span>(DOMString <var title>data</var>);
   2.130 +  <span>Text</span>? <span title=dom-Text-replaceWholeText>replaceWholeText</span>(DOMString <var title>data</var>);
   2.131  };</pre>
   2.132  
   2.133  <p>The
   2.134 @@ -3229,7 +3229,7 @@
   2.135  <span title=concept-collection>collection</span>.
   2.136  
   2.137  <pre class=idl>interface <dfn>NodeList</dfn> {
   2.138 -  getter <span>Node</span> <span title=dom-NodeList-item>item</span>(unsigned long index);
   2.139 +  getter <span>Node</span>? <span title=dom-NodeList-item>item</span>(unsigned long index);
   2.140    readonly attribute unsigned long <span title=dom-NodeList-length>length</span>;
   2.141  };</pre>
   2.142  
   2.143 @@ -3275,8 +3275,8 @@
   2.144  
   2.145  <pre class=idl>interface <dfn>HTMLCollection</dfn> {
   2.146    readonly attribute unsigned long <span title=dom-HTMLCollection-length>length</span>;
   2.147 -  getter <span>Element</span> <span title=dom-HTMLCollection-item>item</span>(unsigned long index);
   2.148 -  getter object <span title=dom-HTMLCollection-namedItem>namedItem</span>(DOMString name); // only returns <code>Element</code>
   2.149 +  getter <span>Element</span>? <span title=dom-HTMLCollection-item>item</span>(unsigned long index);
   2.150 +  getter object? <span title=dom-HTMLCollection-namedItem>namedItem</span>(DOMString name); // only returns <code>Element</code>
   2.151  };</pre>
   2.152  
   2.153  <dl class=domintro>
   2.154 @@ -3405,7 +3405,7 @@
   2.155  
   2.156  <pre class=idl>interface <dfn>DOMStringList</dfn> {
   2.157    readonly attribute unsigned long <span title=dom-DOMStringList-length>length</span>;
   2.158 -  getter DOMString <span title=dom-DOMStringList-item>item</span>(unsigned long <var title>index</var>);
   2.159 +  getter DOMString? <span title=dom-DOMStringList-item>item</span>(unsigned long <var title>index</var>);
   2.160    boolean <span title=dom-DOMStringList-contains>contains</span>(DOMString <var title>string</var>);
   2.161  };</pre>
   2.162  
   2.163 @@ -3465,7 +3465,7 @@
   2.164  
   2.165  <pre class="idl">interface <dfn>DOMTokenList</dfn> {
   2.166    readonly attribute unsigned long <span title="dom-DOMTokenList-length">length</span>;
   2.167 -  getter DOMString <span title="dom-DOMTokenList-item">item</span>(unsigned long index);
   2.168 +  getter DOMString? <span title="dom-DOMTokenList-item">item</span>(unsigned long index);
   2.169    boolean <span title="dom-DOMTokenList-contains">contains</span>(DOMString token);
   2.170    void <span title="dom-DOMTokenList-add">add</span>(DOMString token);
   2.171    void <span title="dom-DOMTokenList-remove">remove</span>(DOMString token);