- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 21 Jan 2009 11:34:18 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec In directory hutz:/tmp/cvs-serv2379 Modified Files: Overview.html Log Message: Make sure to fire the relevant events on the Window object now instead of the body element. Define onpopstate. Other minor fixes for the previous checkin. (whatwg r2686) Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.1855 retrieving revision 1.1856 diff -u -d -r1.1855 -r1.1856 --- Overview.html 21 Jan 2009 11:08:09 -0000 1.1855 +++ Overview.html 21 Jan 2009 11:34:15 -0000 1.1856 @@ -6485,7 +6485,8 @@ characters just inserted into the input stream. (The <code>Document</code> node will have been populated with elements and a <code title=event-load><a href=#event-load>load</a></code> event will have fired - on <a href=#the-body-element-1 title="the body element">its body element</a>.)</p> + on its <a href=#browsing-context>browsing context</a>'s <code><a href=#window>Window</a></code> + object.)</p> </li> @@ -8591,8 +8592,9 @@ <dd><code title=handler-window-onhashchange><a href=#handler-window-onhashchange>onhashchange</a></code></dd> <dd><code title=handler-window-onload><a href=#handler-window-onload>onload</a></code></dd> <dd><code title=handler-window-onmessage><a href=#handler-window-onmessage>onmessage</a></code></dd> - <dd><code title=handler-window-ononline><a href=#handler-window-ononline>ononline</a></code></dd> <dd><code title=handler-window-onoffline><a href=#handler-window-onoffline>onoffline</a></code></dd> + <dd><code title=handler-window-ononline><a href=#handler-window-ononline>ononline</a></code></dd> + <dd><code title=handler-window-onpopstate><a href=#handler-window-onpopstate>onpopstate</a></code></dd> <dd><code title=handler-window-onresize><a href=#handler-window-onresize>onresize</a></code></dd> <dd><code title=handler-window-onstorage><a href=#handler-window-onstorage>onstorage</a></code></dd> <dd><code title=handler-window-onunload><a href=#handler-window-onunload>onunload</a></code></dd> @@ -8600,12 +8602,13 @@ <dd> <pre class=idl>interface <dfn id=htmlbodyelement>HTMLBodyElement</dfn> : <a href=#htmlelement>HTMLElement</a> { attribute <a href=#function>Function</a> <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>; - attribute <a href=#function>Function</a> <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>; + attribute any <!-- --> <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onload title=handler-window-onload>onload</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>; - attribute <a href=#function>Function</a> <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>; + attribute <a href=#function>Function</a> <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>; + attribute <a href=#function>Function</a> <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>; @@ -27312,6 +27315,9 @@ attribute <a href=#function>Function</a> <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>; attribute <a href=#function>Function</a> <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>; attribute <a href=#function>Function</a> <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>; + attribute <a href=#function>Function</a> <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>; + attribute <a href=#function>Function</a> <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>; + attribute <a href=#function>Function</a> <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>; attribute <a href=#function>Function</a> <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>; attribute <a href=#function>Function</a> <a href=#handler-onscroll title=handler-onscroll>onscroll</a>; attribute <a href=#function>Function</a> <a href=#handler-onselect title=handler-onselect>onselect</a>; @@ -28798,6 +28804,11 @@ <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 @@ -31013,12 +31024,12 @@ remote page (or knows that such an attempt would fail), and must return true otherwise.<p>When the value that would be returned by the <code title=dom-navigator-onLine><a href=#dom-navigator-online>navigator.onLine</a></code> attribute of the <code><a href=#window>Window</a></code> changes from true to false, the user agent - must <a href=#fire-a-simple-event>fire a simple event</a> called <dfn id=event-offline title=event-offline><code>offline</code></dfn> at <a href=#the-body-element-1>the body - element</a>.<p>On the other hand, when the value that would be returned by the + must <a href=#fire-a-simple-event>fire a simple event</a> called <dfn id=event-offline title=event-offline><code>offline</code></dfn> at the + <code><a href=#window>Window</a></code> object.<p>On the other hand, when the value that would be returned by the <code title=dom-navigator-onLine><a href=#dom-navigator-online>navigator.onLine</a></code> attribute of the <code><a href=#window>Window</a></code> changes from false to true, the user - agent must <a href=#fire-a-simple-event>fire a simple event</a> called <dfn id=event-online title=event-online><code>online</code></dfn> at <a href=#the-body-element-1>the body - element</a>.<p class=note>This attribute is inherently unreliable. A computer + agent must <a href=#fire-a-simple-event>fire a simple event</a> called <dfn id=event-online title=event-online><code>online</code></dfn> at the + <code><a href=#window>Window</a></code> object.<p class=note>This attribute is inherently unreliable. A computer can be connected to a network without having Internet access.<h3 id=history><span class=secno>5.8 </span>Session history and navigation</h3><h4 id=the-session-history-of-browsing-contexts><span class=secno>5.8.1 </span>The session history of browsing contexts</h4><p>The sequence of <code>Document</code>s in a <a href=#browsing-context>browsing context</a> is its <dfn id=session-history>session history</dfn>.<p><code><a href=#history-1>History</a></code> objects provide a representation of the pages in the session history of <a href=#browsing-context title="browsing @@ -31174,12 +31185,13 @@ string "complete"</dt> <dd><p><a href=#queue-a-task>Queue a task</a> to fire a <dfn id=event-popstate title=event-popstate><code>popstate</code></dfn> event in no - namespace on <a href=#the-body-element-1>the body element</a> using the - <code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to the - value of <var title="">state</var>. This event must bubble but - not be cancelable and has no default action. The <a href=#task-source>task - source</a> for this task is the <a href=#dom-manipulation-task-source>DOM manipulation task - source</a>.</dd> + namespace on the <code><a href=#window>Window</a></code> object of the <a href=#browsing-context>browsing + context</a>, using the <code><a href=#popstateevent>PopStateEvent</a></code> interface, + with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> + attribute set to the value of <var title="">state</var>. This + event must bubble but not be cancelable and has no default + action. The <a href=#task-source>task source</a> for this task is the + <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</dd> <dt>Otherwise</dt> @@ -31192,7 +31204,7 @@ </dl></li> - </ol><p>The <a href=#pending-state-object>pending state object</a> must be initially null.</p><!-- XXX onpopstate should be defined somewhere --><pre class=idl>interface <dfn id=popstateevent>PopStateEvent</dfn> : Event { + </ol><p>The <a href=#pending-state-object>pending state object</a> must be initially null.</p><hr><pre class=idl>interface <dfn id=popstateevent>PopStateEvent</dfn> : Event { readonly attribute any <a href=#dom-popstateevent-state title=dom-PopStateEvent-state>state</a>; void <a href=#dom-popstateevent-initpopstateevent title=dom-PopStateEvent-initPopStateEvent>initPopStateEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any stateArg); void <a href=#dom-popstateevent-initpopstateeventns title=dom-PopStateEvent-initPopStateEventNS>initPopStateEventNS</a>(in DOMString namespaceURIArg, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any stateArg); @@ -31912,9 +31924,9 @@ and the two share the same <code>Document</code> object, then first, if the <code>Document</code>'s <a href=#current-document-readiness>current document readiness</a> is the string "complete", then <a href=#fire-a-simple-event>fire a simple - event</a> with the name <code title=event-hashchange>hashchange</code> at <a href=#the-body-element-1>the - <code>body</code> element</a>; and second, if the new URL has a - fragment identifier, <a href=#scroll-to-the-fragment-identifier>scroll to the fragment + event</a> with the name <code title=event-hashchange>hashchange</code> at the <a href=#browsing-context>browsing + context</a>'s <code><a href=#window>Window</a></code> object; and second, if the new + URL has a fragment identifier, <a href=#scroll-to-the-fragment-identifier>scroll to the fragment identifier</a>.</li> <li><p>User agents may also update other aspects of the document @@ -31934,8 +31946,9 @@ <code><a href=#beforeunloadevent>BeforeUnloadEvent</a></code> event object with the name <code title=event-beforeunload>beforeunload</code>, with no namespace, which does not bubble but is cancelable.</li> - <li><p>Dispatch <var title="">event</var> at <a href=#the-body-element-1>the - <code>body</code> element</a>.</li> + <li><p>Dispatch <var title="">event</var> at the + <code><a href=#window>Window</a></code> object of the <code>Document</code>'s + <a href=#browsing-context>browsing context</a>.</li> <li><p>If any event listeners were triggered by the previous step, then set <var title="">salvageable</var> to false.</li> @@ -31961,8 +31974,9 @@ </li> - <li><p><a href=#fire-a-simple-event>Fire a simple event</a> called <code title=event-unload>unload</code> at <a href=#the-body-element-1>the <code>body</code> - element</a>.</li> + <li><p><a href=#fire-a-simple-event>Fire a simple event</a> called <code title=event-unload>unload</code> at the <code><a href=#window>Window</a></code> + object of the <code>Document</code>'s <a href=#browsing-context>browsing + context</a>.</li> <li><p>If any event listeners were triggered by the previous step, then set <var title="">salvageable</var> to false.</li> @@ -32191,12 +32205,15 @@ attribute's <code><a href=#storage-0>Storage</a></code> object is associated with the same storage area, other than <var title="">x</var>, a <code title=event-storage><a href=#event-storage>storage</a></code> event must be fired, as <a href=#event-storage title=event-storage>described below</a>.<h5 id=the-storage-event><span class=secno>5.10.1.5 </span>The <code title=event-storage><a href=#event-storage>storage</a></code> event</h5><!-- XXX fix up for workers: target is wrong, source and storageArea definitions are wrong --><p>The <dfn id=event-storage title=event-storage><code>storage</code></dfn> event - is fired in an <code><a href=#htmldocument>HTMLDocument</a></code> when a storage area - changes, as described in the previous two sections (<a href=#sessionStorageEvent>for session storage</a>, <a href=#localStorageEvent>for local storage</a>).<p>When this happens, the user agent must dispatch an event with the + is fired when a storage area changes, as described in the previous + two sections (<a href=#sessionStorageEvent>for session + storage</a>, <a href=#localStorageEvent>for local + storage</a>).<p>When this happens, the user agent must dispatch an event with the name <code><a href=#storage-0>storage</a></code>, with no namespace, which does not bubble but is cancelable, and which uses the <code><a href=#storageevent>StorageEvent</a></code> - interface, at <a href=#the-body-element-1>the body element</a> of each <a href=#active-document title="active document">active</a> <code><a href=#htmldocument>HTMLDocument</a></code> - object affected.<p>If the event is being fired due to an invocation of the + interface, at each <code><a href=#window>Window</a></code> object whose <a href=#active-document>active + document</a> has a <code><a href=#storage-0>Storage</a></code> object that is + affected.<p>If the event is being fired due to an invocation of the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code> or <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code> methods, the event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code> attribute set to the name of the key in question, its <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code> attribute set to @@ -42919,17 +42936,18 @@ following steps:<ol><li><a href=#queue-a-task>Queue a task</a> to set the <a href=#current-document-readiness>current document readiness</a> to "complete".</li> - <li><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-load-event title="fire a load - event">fire a <code title=event-load>load</code> event</a> at - <a href=#the-body-element-1>the <code>body</code> element</a>.</li> + <li>If the <code>Document</code> is in a <a href=#browsing-context>browsing + context</a>, then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-load-event title="fire + a load event">fire a <code title=event-load>load</code> + event</a> at the <a href=#browsing-context>browsing context</a>'s + <code><a href=#window>Window</a></code> object.</li> <li>If the <code>Document</code> has a <a href=#pending-state-object>pending state - object</a>, then <a href=#queue-a-task>queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event in no namespace on - <a href=#the-body-element-1>the body element</a> using the <code><a href=#popstateevent>PopStateEvent</a></code> - interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to the + object</a>, then <a href=#queue-a-task>queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event in no namespace on the + <a href=#browsing-context>browsing context</a>'s <code><a href=#window>Window</a></code> object using + the <code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to the current value of the <a href=#pending-state-object>pending state object</a>. This event - must bubble but not be cancelable and has no default - action.</li> + must bubble but not be cancelable and has no default action.</li> </ol><p>The <a href=#task-source>task source</a> for these tasks is the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p><!-- XXX make sure things "delay the load event" --><p class=XXX>delaying the load event for things like image
Received on Wednesday, 21 January 2009 11:34:29 UTC