- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 31 Mar 2009 23:44:39 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec In directory hutz:/tmp/cvs-serv17740 Modified Files: Overview.html Log Message: Tighten up the definitions of event handler attributes. (bug 6490) (whatwg r2939) Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.2103 retrieving revision 1.2104 diff -u -d -r1.2103 -r1.2104 --- Overview.html 31 Mar 2009 21:59:30 -0000 1.2103 +++ Overview.html 31 Mar 2009 23:44:36 -0000 1.2104 @@ -7032,8 +7032,8 @@ <li><code title=handler-onsubmit><a href=#handler-onsubmit>onsubmit</a></code></li> </ul><p class=note>The attributes marked with an asterisk cannot be specified on <code><a href=#the-body-element>body</a></code> elements as those elements expose - <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code> - object with the same names.<hr><p>Also, <a href=#custom-data-attribute title="custom data attribute">custom data + <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code> object with the same + names.<hr><p>Also, <a href=#custom-data-attribute title="custom data attribute">custom data attributes</a> (e.g. <code title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <a href=#html-elements title="HTML elements">HTML element</a>, to store custom data specific to the page.<p>In <a href=#html-documents>HTML documents</a>, elements in the <a href=#html-namespace-0>HTML @@ -10466,8 +10466,8 @@ attribute</a> on the <code><a href=#the-body-element>body</a></code> element. This is because the event would bubble from the target, to the <code><a href=#the-body-element>body</a></code>, to the <code><a href=#the-html-element>html</a></code>, to the <code>Document</code>, to the - <code><a href=#window>Window</a></code>, and the event handler attribute on the - <code><a href=#the-body-element>body</a></code> is watching the <code><a href=#window>Window</a></code> not the + <code><a href=#window>Window</a></code>, and the <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> on + the <code><a href=#the-body-element>body</a></code> is watching the <code><a href=#window>Window</a></code> not the <code><a href=#the-body-element>body</a></code>. A regular event listener attached to the <code><a href=#the-body-element>body</a></code> using <code title="">addEventListener()</code>, however, would fire when the event bubbled through the @@ -36422,8 +36422,8 @@ </li> <li><p>If the previous steps failed to compile the script, then set - the corresponding event handler attribute to null and abort these - steps.</li> + the corresponding <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> to null and + abort these steps.</li> <li><p>Set up the <a href=#script-s-global-object>script's global object</a>, the <a href=#script-s-browsing-context>script's browsing context</a>, the <a href=#script-s-url-character-encoding>script's URL @@ -36431,41 +36431,49 @@ from <a href=#the-script-settings-determined-from-the-node>the script settings determined from the node</a> on which the attribute is being set.</li> - <li><p>Set the corresponding event handler attribute to the - aforementioned function.</li> + <li><p>Set the corresponding <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> + to the aforementioned function.</li> - </ol></div><p class=note>When an event handler content attribute is set on an + </ol></div><p class=note>When an <a href=#event-handler-content-attributes title="event handler content + attributes">event handler content attribute</a> is set on an element owned by a <code>Document</code> that is not in a <a href=#browsing-context>browsing context</a>, the corresponding event handler - attribute is not changed.<p class=note>Removing an event handler content attribute does not - reset the corresponding event handler attribute.</p><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E --><p class=XXX>How do we allow non-JS event handlers?<div class=impl> + attribute is not changed.<p class=note>Removing an <a href=#event-handler-content-attributes title="event handler content + attributes">event handler content attribute</a> does not reset + the corresponding <a href=#event-handler-attributes-0 title="event handler attributes">event + handler attribute</a>.</p><!-- + http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E + --><p class=XXX>How do we allow non-JS event handlers?<div class=impl> - <hr><p>All event handler attributes on an element, whether set to null - or to a <code><a href=#function>Function</a></code> object, must be registered as event - listeners on the element, as if the <code title=dom-EventTarget-addEventListenerNS>addEventListenerNS()</code> + <hr><p>All <a href=#event-handler-attributes-0>event handler attributes</a> on an element, whether + set to null or to a <code><a href=#function>Function</a></code> object, must be registered + as event listeners on the element, as if the <code title=dom-EventTarget-addEventListenerNS>addEventListenerNS()</code> method on the <code>Element</code> object's <code>EventTarget</code> interface had been invoked when the event handler attribute's element or object was created, with the event type (<var title=dom-event-type>type</var> argument) equal to the type - described for the event handler attribute in the list above, the - namespace (<var title=dom-event-namespaceURI>namespaceURI</var> - argument) set to null, the listener set to be a target and bubbling - phase listener (<var title=dom-event-useCapture>useCapture</var> - argument set to false), the event group set to the default group - (<var title=dom-event-evtGroup>evtGroup</var> argument set to - null), and the event listener itself (<var title=dom-event-listener>listener</var> argument) set to do + corresponding to the event handler attribute (the <dfn id=event-handler-event-type>event handler + event type</dfn>), the namespace (<var title=dom-event-namespaceURI>namespaceURI</var> argument) set to + null, the listener set to be a target and bubbling phase listener + (<var title=dom-event-useCapture>useCapture</var> argument set to + false), the event group set to the default group (<var title=dom-event-evtGroup>evtGroup</var> argument set to null), and + the event listener itself (<var title=dom-event-listener>listener</var> argument) set to do nothing while the event handler attribute's value is not a <code><a href=#function>Function</a></code> object, and set to invoke the <code title=dom-function-call><a href=#dom-function-call>call()</a></code> callback of the <code><a href=#function>Function</a></code> object associated with the event handler attribute otherwise.</p> <p class=note>The <var title=dom-event-listener>listener</var> - argument is emphatically <em>not</em> the event handler attribute - itself.</p> + argument is emphatically <em>not</em> the <a href=#event-handler-attributes-0 title="event handler + attributes">event handler attribute</a> itself.</p> - <p>When an event handler attribute's <code><a href=#function>Function</a></code> objectw - is invoked, its <code title=dom-function-call><a href=#dom-function-call>call()</a></code> - callback must be invoked with one argument, set to the - <code>Event</code> object of the event in question.</p> + <p class=note>The interfaces implemented by the event object do + not affect whether an <a href=#event-handler-attributes-0 title="event handler attributes">event + handler attribute</a> is used or not.</p> + + <p>When an <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a>'s + <code><a href=#function>Function</a></code> object is invoked, its <code title=dom-function-call><a href=#dom-function-call>call()</a></code> callback must be invoked + with one argument, set to the <code>Event</code> object of the event + in question.</p> <p>The handler's return value must then be processed as follows:</p> @@ -36505,257 +36513,72 @@ <h5 id=event-handler-attributes-on-elements-document-objects-and-window-objects><span class=secno>5.5.6.2 </span>Event handler attributes on elements, <code>Document</code> objects, and <code><a href=#window>Window</a></code> objects</h5> - <p>The following are the event handler attributes that must be - supported by all <a href=#html-elements>HTML elements</a>, as both content - attributes and DOM attributes, and on <code>Document</code> and - <code><a href=#window>Window</a></code> objects, as DOM attributes:</p> - - <dl><dt><dfn id=handler-onabort title=handler-onabort><code>onabort</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-abort><a href=#event-abort>abort</a></code> event is targeted at or bubbles - through the element or object.</dd> - -<!-- - <dt><dfn title="handler-onbeforecopy"><code>onbeforecopy</code></dfn></dt> --><!-- widely used --><!-- - - <dd><p>Must be invoked whenever a <code - title="event-beforecopy">beforecopy</code> event is targeted at or bubbles - through the element or object.</p></dd> ---> - - <dt><dfn id=handler-onblur title=handler-onblur><code>onblur</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-blur>blur</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onchange title=handler-onchange><code>onchange</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-change>change</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onclick title=handler-onclick><code>onclick</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-click>click</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-oncontextmenu title=handler-oncontextmenu><code>oncontextmenu</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-contextmenu>contextmenu</code> event is targeted at or bubbles - through the element or object.</dd> - -<!-- - <dt><dfn title="handler-oncopy"><code>oncopy</code></dfn></dt> --><!-- widely used --><!-- - - <dd><p>Must be invoked whenever a <code - title="event-copy">copy</code> event is targeted at or bubbles - through the element or object.</p></dd> ---> - - <dt><dfn id=handler-ondblclick title=handler-ondblclick><code>ondblclick</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-dblclick>dblclick</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondrag title=handler-ondrag><code>ondrag</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-drag><a href=#event-drag>drag</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondragend title=handler-ondragend><code>ondragend</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-dragend><a href=#event-dragend>dragend</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondragenter title=handler-ondragenter><code>ondragenter</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-dragenter><a href=#event-dragenter>dragenter</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondragleave title=handler-ondragleave><code>ondragleave</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-dragleave><a href=#event-dragleave>dragleave</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondragover title=handler-ondragover><code>ondragover</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-dragover><a href=#event-dragover>dragover</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondragstart title=handler-ondragstart><code>ondragstart</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-dragstart><a href=#event-dragstart>dragstart</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-ondrop title=handler-ondrop><code>ondrop</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-drop><a href=#event-drop>drop</a></code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onfocus title=handler-onfocus><code>onfocus</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-focus>focus</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onkeydown title=handler-onkeydown><code>onkeydown</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-keydown>keydown</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onkeypress title=handler-onkeypress><code>onkeypress</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-keypress>keypress</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onkeyup title=handler-onkeyup><code>onkeyup</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-keyup>keyup</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onmousedown title=handler-onmousedown><code>onmousedown</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-mousedown>mousedown</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onmousemove title=handler-onmousemove><code>onmousemove</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-mousemove>mousemove</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onmouseout title=handler-onmouseout><code>onmouseout</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-mouseout>mouseout</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onmouseover title=handler-onmouseover><code>onmouseover</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-mouseover>mouseover</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onmouseup title=handler-onmouseup><code>onmouseup</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-mouseup>mouseup</code> event is targeted at or bubbles - through the element or object.</dd> - - <dt><dfn id=handler-onmousewheel title=handler-onmousewheel><code>onmousewheel</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-mousewheel>mousewheel</code> event is targeted at or bubbles - through the element or object.</dd> - -<!-- - <dt><dfn title="handler-onpaste"><code>onpaste</code></dfn></dt> --><!-- widely used --><!-- - - <dd><p>Must be invoked whenever a <code - title="event-paste">paste</code> event is targeted at or bubbles - through the element or object.</p></dd> ---> - - <dt><dfn id=handler-onscroll title=handler-onscroll><code>onscroll</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-scroll>scroll</code> event is targeted at or bubbles - through the element or object.</dd> <!-- XXX should define when it fires --> - - <dt><dfn id=handler-onselect title=handler-onselect><code>onselect</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-select><a href=#event-select>select</a></code> event is targeted at or bubbles - through the element or object.</dd> <!-- XXX should define when it fires --> - -<!--XXX - <dt><dfn title="handler-onselectstart"><code>onselectstart</code></dfn></dt> --><!-- widely used --><!-- - - <dd><p>Must be invoked whenever a <code - title="event-selectstart">selectstart</code> event is targeted at or bubbles - through the element or object.</p></dd> ---> <!-- XXX should define when it fires --> - - <dt><dfn id=handler-onsubmit title=handler-onsubmit><code>onsubmit</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-submit>submit</code> event is targeted at or bubbles - through the element or object.</dd> + <p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>) + that must be supported by all <a href=#html-elements>HTML elements</a>, as both + content attributes and DOM attributes, and on <code>Document</code> + and <code><a href=#window>Window</a></code> objects, as DOM attributes.</p> - </dl><hr><p>The following are the event handler attributes that must be - supported by all <a href=#html-elements>HTML elements</a> other than + <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a> + <tbody><tr><td><dfn id=handler-onabort title=handler-onabort><code>onabort</code></dfn> <td> <code title=event-abort><a href=#event-abort>abort</a></code> +<!--<tr><td><dfn title="handler-onbeforecopy"><code>onbeforecopy</code></dfn> <td> <code title="event-beforecopy">beforecopy</code>--> <!-- widely used --> + <tr><td><dfn id=handler-onblur title=handler-onblur><code>onblur</code></dfn> <td> <code title=event-blur>blur</code> <!-- widely used --> + <tr><td><dfn id=handler-onchange title=handler-onchange><code>onchange</code></dfn> <td> <code title=event-change>change</code> <!-- widely used --> + <tr><td><dfn id=handler-onclick title=handler-onclick><code>onclick</code></dfn> <td> <code title=event-click>click</code> <!-- widely used --> + <tr><td><dfn id=handler-oncontextmenu title=handler-oncontextmenu><code>oncontextmenu</code></dfn> <td> <code title=event-contextmenu>contextmenu</code> <!-- widely used --> +<!--<tr><td><dfn title="handler-oncopy"><code>oncopy</code></dfn> <td> <code title="event-copy">copy</code>--> <!-- widely used --> + <tr><td><dfn id=handler-ondblclick title=handler-ondblclick><code>ondblclick</code></dfn> <td> <code title=event-dblclick>dblclick</code> <!-- widely used --> + <tr><td><dfn id=handler-ondrag title=handler-ondrag><code>ondrag</code></dfn> <td> <code title=event-drag><a href=#event-drag>drag</a></code> + <tr><td><dfn id=handler-ondragend title=handler-ondragend><code>ondragend</code></dfn> <td> <code title=event-dragend><a href=#event-dragend>dragend</a></code> + <tr><td><dfn id=handler-ondragenter title=handler-ondragenter><code>ondragenter</code></dfn> <td> <code title=event-dragenter><a href=#event-dragenter>dragenter</a></code> + <tr><td><dfn id=handler-ondragleave title=handler-ondragleave><code>ondragleave</code></dfn> <td> <code title=event-dragleave><a href=#event-dragleave>dragleave</a></code> + <tr><td><dfn id=handler-ondragover title=handler-ondragover><code>ondragover</code></dfn> <td> <code title=event-dragover><a href=#event-dragover>dragover</a></code> + <tr><td><dfn id=handler-ondragstart title=handler-ondragstart><code>ondragstart</code></dfn> <td> <code title=event-dragstart><a href=#event-dragstart>dragstart</a></code> <!-- widely used --> + <tr><td><dfn id=handler-ondrop title=handler-ondrop><code>ondrop</code></dfn> <td> <code title=event-drop><a href=#event-drop>drop</a></code> + <tr><td><dfn id=handler-onfocus title=handler-onfocus><code>onfocus</code></dfn> <td> <code title=event-focus>focus</code> <!-- widely used --> + <tr><td><dfn id=handler-onkeydown title=handler-onkeydown><code>onkeydown</code></dfn> <td> <code title=event-keydown>keydown</code> <!-- widely used --> + <tr><td><dfn id=handler-onkeypress title=handler-onkeypress><code>onkeypress</code></dfn> <td> <code title=event-keypress>keypress</code> <!-- widely used --> + <tr><td><dfn id=handler-onkeyup title=handler-onkeyup><code>onkeyup</code></dfn> <td> <code title=event-keyup>keyup</code> <!-- widely used --> + <tr><td><dfn id=handler-onmousedown title=handler-onmousedown><code>onmousedown</code></dfn> <td> <code title=event-mousedown>mousedown</code> <!-- widely used --> + <tr><td><dfn id=handler-onmousemove title=handler-onmousemove><code>onmousemove</code></dfn> <td> <code title=event-mousemove>mousemove</code> <!-- widely used --> + <tr><td><dfn id=handler-onmouseout title=handler-onmouseout><code>onmouseout</code></dfn> <td> <code title=event-mouseout>mouseout</code> <!-- widely used --> + <tr><td><dfn id=handler-onmouseover title=handler-onmouseover><code>onmouseover</code></dfn> <td> <code title=event-mouseover>mouseover</code> <!-- widely used --> + <tr><td><dfn id=handler-onmouseup title=handler-onmouseup><code>onmouseup</code></dfn> <td> <code title=event-mouseup>mouseup</code> <!-- widely used --> + <tr><td><dfn id=handler-onmousewheel title=handler-onmousewheel><code>onmousewheel</code></dfn> <td> <code title=event-mousewheel>mousewheel</code> <!-- widely used --> +<!--<tr><td><dfn title="handler-onpaste"><code>onpaste</code></dfn> <td> <code title="event-paste">paste</code>--> <!-- widely used --> + <tr><td><dfn id=handler-onscroll title=handler-onscroll><code>onscroll</code></dfn> <td> <code title=event-scroll>scroll</code> <!-- widely used --> <!-- XXX should define when it fires --> + <tr><td><dfn id=handler-onselect title=handler-onselect><code>onselect</code></dfn> <td> <code title=event-select><a href=#event-select>select</a></code> <!-- widely used --> <!-- XXX should define when it fires --> +<!--<tr><td><dfn title="handler-onselectstart"><code>onselectstart</code></dfn> <td> <code title="event-selectstart">selectstart</code>--> <!-- widely used --> <!-- XXX should define when it fires --> + <tr><td><dfn id=handler-onsubmit title=handler-onsubmit><code>onsubmit</code></dfn> <td> <code title=event-submit>submit</code> <!-- widely used --> + </table><hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>) + that must be supported by all <a href=#html-elements>HTML elements</a> other than <code><a href=#the-body-element>body</a></code>, as both content attributes and DOM attributes, and on <code>Document</code> objects, as DOM attributes:</p> - <dl><dt><dfn id=handler-onerror title=handler-onerror><code>onerror</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-error><a href=#event-error>error</a></code> event is targeted at or bubbles - through the element.</dd> - - <dt><dfn id=handler-onload title=handler-onload><code>onload</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-load><a href=#event-load>load</a></code> event is targeted at or bubbles - through the element.</dd> - - </dl><hr><p>The following are the event handler attributes that must be - supported by <code><a href=#window>Window</a></code> objects, as DOM attributes on the - <code><a href=#window>Window</a></code> object, and with corresponding content - attributes and DOM attributes exposed on the <code><a href=#the-body-element>body</a></code> - element:</p> - - <dl><dt><dfn id=handler-window-onbeforeunload title=handler-window-onbeforeunload><code>onbeforeunload</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-beforeunload>beforeunload</code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onerror title=handler-window-onerror><code>onerror</code></dfn></dt> - - <dd> - - <p>Must be invoked whenever an <code title=event-error><a href=#event-error>error</a></code> event is targeted at or bubbles - through the object.</p> - - <p class=note>The <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code> - handler is also used for <a href=#runtime-script-errors>reporting script errors</a>.</p> - - </dd> - - <dt><dfn id=handler-window-onhashchange title=handler-window-onhashchange><code>onhashchange</code></dfn></dt> <!-- new --> - - <dd><p>Must be invoked whenever a <code title=event-hashchange>hashchange</code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onload title=handler-window-onload><code>onload</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-load><a href=#event-load>load</a></code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onmessage title=handler-window-onmessage><code>onmessage</code></dfn></dt> <!-- new for postMessage --> - - <dd><p>Must be invoked whenever a <code title=event-message><a href=#event-message>message</a></code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onoffline title=handler-window-onoffline><code>onoffline</code></dfn></dt> <!-- new --> - - <dd><p>Must be invoked whenever a <code title=event-offline><a href=#event-offline>offline</a></code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-ononline title=handler-window-ononline><code>ononline</code></dfn></dt> <!-- new --> - - <dd><p>Must be invoked whenever a <code title=event-online><a href=#event-online>online</a></code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onpopstate title=handler-window-onpopstate><code>onpopstate</code></dfn></dt> <!-- new --> - - <dd><p>Must be invoked whenever a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onresize title=handler-window-onresize><code>onresize</code></dfn></dt> <!-- widely used --> - - <dd><p>Must be invoked whenever a <code title=event-resize>resize</code> event is targeted at or bubbles - through the object.</dd> <!-- XXX should define when it fires --> - - <dt><dfn id=handler-window-onstorage title=handler-window-onstorage><code>onstorage</code></dfn></dt> <!-- new --> - - <dd><p>Must be invoked whenever a <code title=event-storage>storage</code> event is targeted at or bubbles - through the object.</dd> - - <dt><dfn id=handler-window-onunload title=handler-window-onunload><code>onunload</code></dfn></dt> <!-- widely used --> + <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a> + <tbody><tr><td><dfn id=handler-onerror title=handler-onerror><code>onerror</code></dfn> <td> <code title=event-error><a href=#event-error>error</a></code> + <tr><td><dfn id=handler-onload title=handler-onload><code>onload</code></dfn> <td> <code title=event-load><a href=#event-load>load</a></code> + </table><hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>) + that must be supported by <code><a href=#window>Window</a></code> objects, as DOM + attributes on the <code><a href=#window>Window</a></code> object, and with corresponding + content attributes and DOM attributes exposed on the + <code><a href=#the-body-element>body</a></code> element:</p> - <dd><p>Must be invoked whenever an <code title=event-unload>unload</code> event is targeted at or bubbles - through the object.</dd> + <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a> + <tbody><tr><td><dfn id=handler-window-onbeforeunload title=handler-window-onbeforeunload><code>onbeforeunload</code></dfn> <td> <code title=event-beforeunload>beforeunload</code> + <tr><td><dfn id=handler-window-onerror title=handler-window-onerror><code>onerror</code></dfn> <td> <code title=event-error><a href=#event-error>error</a></code> + <tr><td><dfn id=handler-window-onhashchange title=handler-window-onhashchange><code>onhashchange</code></dfn> <td> <code title=event-hashchange>hashchange</code> <!-- new --> + <tr><td><dfn id=handler-window-onload title=handler-window-onload><code>onload</code></dfn> <td> <code title=event-load><a href=#event-load>load</a></code> <!-- widely used --> + <tr><td><dfn id=handler-window-onmessage title=handler-window-onmessage><code>onmessage</code></dfn> <td> <code title=event-message><a href=#event-message>message</a></code> <!-- new for postMessage --> + <tr><td><dfn id=handler-window-onoffline title=handler-window-onoffline><code>onoffline</code></dfn> <td> <code title=event-offline><a href=#event-offline>offline</a></code> <!-- new --> + <tr><td><dfn id=handler-window-ononline title=handler-window-ononline><code>ononline</code></dfn> <td> <code title=event-online><a href=#event-online>online</a></code> <!-- new --> + <tr><td><dfn id=handler-window-onpopstate title=handler-window-onpopstate><code>onpopstate</code></dfn> <td> <code title=event-popstate><a href=#event-popstate>popstate</a></code> <!-- new --> + <tr><td><dfn id=handler-window-onresize title=handler-window-onresize><code>onresize</code></dfn> <td> <code title=event-resize>resize</code> <!-- widely used --> <!-- XXX should define when it fires --> + <tr><td><dfn id=handler-window-onstorage title=handler-window-onstorage><code>onstorage</code></dfn> <td> <code title=event-storage>storage</code> <!-- new --> + <tr><td><dfn id=handler-window-onunload title=handler-window-onunload><code>onunload</code></dfn> <td> <code title=event-unload>unload</code> <!-- widely used --> + </table><p class=note>The <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code> + handler is also used for <a href=#runtime-script-errors>reporting script errors</a>.</p> - </dl></div><div class=impl> + </div><div class=impl> <h5 id=event-firing><span class=secno>5.5.6.3 </span>Event firing</h5> @@ -36860,9 +36683,8 @@ <hr><p>When the user agent is required to <dfn id=report-the-error title="report the error">report an error</dfn> <var title="">error</var> using the - event handler attribute <var title="">onerror</var>, it must run - these steps, after which the error is either <i title="">handled</i> - or <i title="">not handled</i>:</p> + <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <var title="">onerror</var>, it + must run these steps, after which the error is either <i title="">handled</i> or <i title="">not handled</i>:</p> <dl class=switch><dt>If the value of <var title="">onerror</var> is a <code><a href=#function>Function</a></code></dt> @@ -39164,60 +38986,22 @@ <a href=#cache-host>cache host</a> from <var title="">cache</var> and instead associate it with <var title="">new cache</var>.</li> - </ol><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> that - must be supported, as DOM attributes, by all objects implementing - the <code><a href=#applicationcache>ApplicationCache</a></code> interface:</p> - - <dl><dt><dfn id=handler-appcache-onchecking title=handler-appcache-onchecking><code>onchecking</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-checking>checking</code> event is targeted at or - bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd> - - - <dt><dfn id=handler-appcache-onerror title=handler-appcache-onerror><code>onerror</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-error><a href=#event-error>error</a></code> event is targeted at or bubbles - through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd> - - - <dt><dfn id=handler-appcache-onnoupdate title=handler-appcache-onnoupdate><code>onnoupdate</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-noupdate>noupdate</code> event is targeted at or - bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd> - - - <dt><dfn id=handler-appcache-ondownloading title=handler-appcache-ondownloading><code>ondownloading</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-downloading>downloading</code> event is targeted at - or bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> - object.</dd> - - - <dt><dfn id=handler-appcache-onprogress title=handler-appcache-onprogress><code>onprogress</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-progress><a href=#event-progress>progress</a></code> event is targeted at or - bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd> - - - <dt><dfn id=handler-appcache-onupdateready title=handler-appcache-onupdateready><code>onupdateready</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-updateready>updateready</code> event is targeted at - or bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> - object.</dd> - - - <dt><dfn id=handler-appcache-oncached title=handler-appcache-oncached><code>oncached</code></dfn></dt> - - <dd><p>Must be invoked whenever a <code title=event-cached>cached</code> event is targeted at or bubbles - through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd> - - - <dt><dfn id=handler-appcache-onobsolete title=handler-appcache-onobsolete><code>onobsolete</code></dfn></dt> - - <dd><p>Must be invoked whenever an <code title=event-obsolete>obsolete</code> event is targeted at or bubbles - through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd> + </ol><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and + their corresponding <a href=#event-handler-event-type title="event handler event type">event + handler event types</a>) that must be supported, as DOM + attributes, by all objects implementing the + <code><a href=#applicationcache>ApplicationCache</a></code> interface:</p> - </dl></div><h4 id=browser-state><span class=secno>5.8.9 </span>Browser state</h4><dl class=domintro><dt><var title="">window</var> . <code title=dom-navigator><a href=#dom-navigator>navigator</a></code> . <code title=dom-navigator-onLine><a href=#dom-navigator-online>onLine</a></code></dt> + <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a> + <tbody><tr><td><dfn id=handler-appcache-onchecking title=handler-appcache-onchecking><code>onchecking</code></dfn> <td> <code title=event-checking>checking</code> + <tr><td><dfn id=handler-appcache-onerror title=handler-appcache-onerror><code>onerror</code></dfn> <td> <code title=event-error><a href=#event-error>error</a></code> + <tr><td><dfn id=handler-appcache-onnoupdate title=handler-appcache-onnoupdate><code>onnoupdate</code></dfn> <td> <code title=event-noupdate>noupdate</code> + <tr><td><dfn id=handler-appcache-ondownloading title=handler-appcache-ondownloading><code>ondownloading</code></dfn> <td> <code title=event-downloading>downloading</code> + <tr><td><dfn id=handler-appcache-onprogress title=handler-appcache-onprogress><code>onprogress</code></dfn> <td> <code title=event-progress><a href=#event-progress>progress</a></code> + <tr><td><dfn id=handler-appcache-onupdateready title=handler-appcache-onupdateready><code>onupdateready</code></dfn> <td> <code title=event-updateready>updateready</code> + <tr><td><dfn id=handler-appcache-oncached title=handler-appcache-oncached><code>oncached</code></dfn> <td> <code title=event-cached>cached</code> + <tr><td><dfn id=handler-appcache-onobsolete title=handler-appcache-onobsolete><code>onobsolete</code></dfn> <td> <code title=event-obsolete>obsolete</code> + </table></div><h4 id=browser-state><span class=secno>5.8.9 </span>Browser state</h4><dl class=domintro><dt><var title="">window</var> . <code title=dom-navigator><a href=#dom-navigator>navigator</a></code> . <code title=dom-navigator-onLine><a href=#dom-navigator-online>onLine</a></code></dt> <dd> @@ -45374,25 +45158,18 @@ unentangle the two ports. If the method is called on a port that is not entangled, then the method must do nothing.</p> - <hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> that - must be supported, as DOM attributes, by all objects implementing - the <code><a href=#messageport>MessagePort</a></code> interface:</p> - - <dl><dt><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn></dt> - - <dd> - - <p>Must be invoked whenever a <code title=event-MessagePort-message>message</code> event is targeted - at or bubbles through the <code><a href=#messageport>MessagePort</a></code> object.</p> - - <p>The first time a <code><a href=#messageport>MessagePort</a></code> object's <code title=handler-MessagePort-onmessage><a href=#handler-messageport-onmessage>onmessage</a></code> DOM - attribute is set, the port's <a href=#port-message-queue>port message queue</a> must - be opened, as if the <code title=dom-MessagePort-start><a href=#dom-messageport-start>start()</a></code> method had been - called.</p> + <hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>) + that must be supported, as DOM attributes, by all objects + implementing the <code><a href=#messageport>MessagePort</a></code> interface:</p> - </dd> + <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a> + <tbody><tr><td><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn> <td> <code title=event-message><a href=#event-message>message</a></code> + </table><p>The first time a <code><a href=#messageport>MessagePort</a></code> object's <code title=handler-MessagePort-onmessage><a href=#handler-messageport-onmessage>onmessage</a></code> DOM attribute + is set, the port's <a href=#port-message-queue>port message queue</a> must be opened, + as if the <code title=dom-MessagePort-start><a href=#dom-messageport-start>start()</a></code> method + had been called.</p> - </dl></div><div class=impl> + </div><div class=impl> <h5 id=ports-and-garbage-collection><span class=secno>7.3.3.1 </span>Ports and garbage collection</h5>
Received on Tuesday, 31 March 2009 23:44:50 UTC