- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 25 Mar 2011 00:55:18 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv6770
Modified Files:
Overview.html
Log Message:
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)
Index: Overview.html
===================================================================
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:55:20 UTC