- From: poot <cvsmail@w3.org>
- Date: Thu, 24 Mar 2011 20:56:28 -0400
- To: public-html-diffs@w3.org
hixie: Revamp pushState() to work like Firefox 4, since that actually makes the API useful. See also http://hacks.mozilla.org/2011/03/history- api-changes-in-firefox-4/, WHATWG mail, and the bug below. (whatwg r5964) http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4792&r2=1.4793&f=h http://html5.org/tools/web-apps-tracker?from=5963&to=5964 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.4792 retrieving revision 1.4793 diff -u -d -r1.4792 -r1.4793 --- Overview.html 21 Mar 2011 10:50:34 -0000 1.4792 +++ Overview.html 25 Mar 2011 00:55:13 -0000 1.4793 @@ -343,7 +343,7 @@ <h1>HTML5</h1> <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2> - <h2 class="no-num no-toc" id="editor-s-draft-21-march-2011">Editor's Draft 21 March 2011</h2> + <h2 class="no-num no-toc" id="editor-s-draft-25-march-2011">Editor's Draft 25 March 2011</h2> <dl><dt>Latest Published Version:</dt> <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd> <dt>Latest Editor's Draft:</dt> @@ -485,7 +485,7 @@ Group</a> is the W3C working group responsible for this specification's progress along the W3C Recommendation track. - This specification is the 21 March 2011 Editor's Draft. + This specification is the 25 March 2011 Editor's Draft. </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- required patent boilerplate --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 @@ -5995,7 +5995,7 @@ </div> - <h4 id="content-type-sniffing"><span class="secno">2.7.3 </span>Determining the type of a resource</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/125">ISSUE-125</a> (charset-vs-quotes), <a href="http://www.w3.org/html/wg/tracker/issues/126">ISSUE-126</a> (charset-vs-backslashes) and <a href="http://www.w3.org/html/wg/tracker/issues/148">ISSUE-148</a> (charset-detect) block progress to Last Call</span></p> + <h4 id="content-type-sniffing"><span class="secno">2.7.3 </span>Determining the type of a resource</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/125">ISSUE-125</a> (charset-vs-quotes) and <a href="http://www.w3.org/html/wg/tracker/issues/148">ISSUE-148</a> (charset-detect) block progress to Last Call</span></p> <p>The <dfn id="content-type" title="Content-Type">Content-Type metadata</dfn> of a resource must be obtained and interpreted in a manner consistent @@ -43783,6 +43783,7 @@ </div><h4 id="the-history-interface"><span class="secno">5.4.2 </span>The <code><a href="#history-0">History</a></code> interface</h4><pre class="idl">interface <dfn id="history-0">History</dfn> { readonly attribute long <a href="#dom-history-length" title="dom-history-length">length</a>; + readonly attribute any <a href="#dom-history-state" title="dom-history-state">state</a>; void <a href="#dom-history-go" title="dom-history-go">go</a>(in optional long delta); void <a href="#dom-history-back" title="dom-history-back">back</a>(); void <a href="#dom-history-forward" title="dom-history-forward">forward</a>(); @@ -43796,6 +43797,14 @@ </dd> + <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-state"><a href="#dom-history-state">state</a></code></dt> + + <dd> + + <p>Returns the current <a href="#state-object">state object</a>.</p> + + </dd> + <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-go"><a href="#dom-history-go">go</a></code>( [ <var title="">delta</var> ] )</dt> <dd> @@ -43872,6 +43881,11 @@ <p>The actual entries are not accessible from script.</p> + <p>The <dfn id="dom-history-state" title="dom-history-state"><code>state</code></dfn> + attribute of the <code><a href="#history-0">History</a></code> interface must return the last + value it was set to by the user agent. Initially, its value must be + null.</p> + <p>When the <dfn id="dom-history-go" title="dom-history-go"><code>go(<var title="">delta</var>)</code></dfn> method is invoked, if the argument to the method was omitted or has the value zero, the user agent must act as if the <code title="dom-location-reload"><a href="#dom-location-reload">location.reload()</a></code> method was @@ -44040,16 +44054,8 @@ <li> - <p>If the <a href="#current-document-readiness">current document readiness</a> is not yet set - to the string "complete", let the <code><a href="#document">Document</a></code>'s - <a href="#pending-state-object">pending state object</a> be another <a href="#structured-clone">structured - clone</a> of the specified <var title="">data</var>. (If there - was already a <a href="#pending-state-object">pending state object</a>, the previous one - is discarded.)</p> - - <p class="note">This ensures that the <code title="event-popstate"><a href="#event-popstate">popstate</a></code> event that will be fired - when the document finally loads will accurately reflect the - pushed or replaced state object.</p> + <p>Set <code title="dom-history-state"><a href="#dom-history-state">history.state</a></code> to + another <a href="#structured-clone">structured clone</a> of the specified <var title="">data</var>.</p> </li> @@ -44151,7 +44157,7 @@ document.forms.F.I.value = newI; } </SCRIPT> -<BODY ONPOPSTATE="recover(event.state)"> +<BODY ONPOPSTATE="set(event.state)"> <FORM NAME=F> State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BUTTON ONCLICK="inc()"> </FORM></pre> @@ -45418,33 +45424,16 @@ state object. Otherwise, let <var title="">state</var> be null.</li> - <li> - - <p>Run the appropriate steps according to the conditions - described:</p> - - <dl class="switch"><dt>If the <a href="#current-document-readiness">current document readiness</a> is set to the - string "complete"</dt> - - <dd><p><a href="#queue-a-task">Queue a task</a> to fire a <code title="event-popstate"><a href="#event-popstate">popstate</a></code> event at the - <code><a href="#window">Window</a></code> object of the <code><a href="#document">Document</a></code>, 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.</dd> - - <dt>Otherwise</dt> - - <dd><p>Let the <code><a href="#document">Document</a></code>'s <a href="#pending-state-object">pending state - object</a> be <var title="">state</var>. (If there was already - a <a href="#pending-state-object">pending state object</a>, the previous one is - discarded.)</p> - - <p class="note">The event will then be fired just after the <code title="event-load">load</code> event.</dd> + <li><p>Set <code title="dom-history-state"><a href="#dom-history-state">history.state</a></code> to <var title="">state</var>.</li> - </dl></li> + <li><p>Fire a <code title="event-popstate"><a href="#event-popstate">popstate</a></code> event at + the <code><a href="#window">Window</a></code> object of the <code><a href="#document">Document</a></code>, 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.</li> - <li><p>If <var title="">hash changed</var> is true, then - <a href="#queue-a-task">queue a task</a> to fire a <code title="event-hashchange"><a href="#event-hashchange">hashchange</a></code> event at the + <li><p>If <var title="">hash changed</var> is true, then fire a + <code title="event-hashchange"><a href="#event-hashchange">hashchange</a></code> event at the <a href="#browsing-context">browsing context</a>'s <code><a href="#window">Window</a></code> object, using the <code><a href="#hashchangeevent">HashChangeEvent</a></code> interface, with the <code title="dom-HashChangeEvent-oldURL"><a href="#dom-hashchangeevent-oldurl">oldURL</a></code> attribute set to <var title="">old URL</var> and the <code title="dom-HashChangeEvent-newURL"><a href="#dom-hashchangeevent-newurl">newURL</a></code> attribute set to @@ -45454,12 +45443,7 @@ <li><p>The <a href="#current-entry">current entry</a> is now the <i>specified entry</i>.</li> - </ol><p>The <dfn id="pending-state-object">pending state object</dfn> is used to keep track of what - state object to use in the inital <code title="event-popstate"><a href="#event-popstate">popstate</a></code> event fired by the parser - once it <a href="#stop-parsing" title="stop parsing">stops parsing</a>. The - <a href="#pending-state-object">pending state object</a> must be initially null.</p> - - <p>The <a href="#task-source">task source</a> for the tasks mentioned above is the + </ol><p>The <a href="#task-source">task source</a> for the tasks mentioned above is the <a href="#dom-manipulation-task-source">DOM manipulation task source</a>.</p> @@ -62170,14 +62154,6 @@ attribute set to false. This event must not bubble, must not be cancelable, and has no default action.</li> - <li><p>If the <code><a href="#document">Document</a></code> is in a <a href="#browsing-context">browsing - context</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 at the - <code><a href="#document">Document</a></code>'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> - <li><p>If the <code><a href="#document">Document</a></code> has any <a href="#pending-application-cache-download-process-tasks">pending application cache download process tasks</a>, then <a href="#queue-a-task" title="queue a task">queue</a> each such <a href="#concept-task" title="concept-task">task</a> in the order they were added to the list of <a href="#pending-application-cache-download-process-tasks">pending application cache download process
Received on Friday, 25 March 2011 00:56:30 UTC