[html5] r7846 - [giow] (3) Try to match reality better for dynamic location.hash navigation. Fix [...]
whatwg at whatwg.org
whatwg at whatwg.org
Mon Apr 22 11:01:55 PDT 2013
Author: ianh
Date: 2013-04-22 11:01:54 -0700 (Mon, 22 Apr 2013)
New Revision: 7846
Modified:
complete.html
index
source
Log:
[giow] (3) Try to match reality better for dynamic location.hash navigation.
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155
Affected topics: HTML
Modified: complete.html
===================================================================
--- complete.html 2013-04-22 17:40:33 UTC (rev 7845)
+++ complete.html 2013-04-22 18:01:54 UTC (rev 7846)
@@ -67557,7 +67557,7 @@
<h4 id=scroll-to-fragid><span class=secno>6.6.9 </span><dfn title=navigate-fragid>Navigating to a fragment identifier</dfn></h4>
<p>When a user agent is supposed to navigate to a fragment identifier, then the user agent must
- <a href=#queue-a-task>queue a task</a> to run the following steps:</p>
+ run the following steps:</p>
<ol><li>
@@ -67579,7 +67579,8 @@
to the address to which the user agent was <a href=#navigate title=navigate>navigating</a>. The title
must be left unset.</li>
- <li><p><a href=#traverse-the-history>Traverse the history</a> to the new entry. This will <a href=#scroll-to-the-fragment-identifier>scroll to the fragment
+ <li><p><a href=#traverse-the-history>Traverse the history</a> to the new entry, with the <i>asynchronous events</i> flag
+ set. This will <a href=#scroll-to-the-fragment-identifier>scroll to the fragment
identifier</a> given in what is now <a href="#the-document's-address">the document's address</a>.</li>
</ol><p class=note>If the scrolling fails because the relevant <a href=#concept-id title=concept-id>ID</a> has
@@ -67650,8 +67651,8 @@
<div class=impl>
<p>When a user agent is required to <dfn id=traverse-the-history>traverse the history</dfn> to a <var title="">specified
- entry</var>, optionally with <a href=#replacement-enabled>replacement enabled</a>, the user agent must act as
- follows.</p>
+ entry</var>, optionally with <a href=#replacement-enabled>replacement enabled</a>, and optionally with the
+ <i>asynchronous events</i> flag set, the user agent must act as follows.</p>
<p class=note>This algorithm is not just invoked when <a href=#traverse-the-history-by-a-delta title="traverse the history by a
delta">explicitly going back or forwards in the session history</a> — it is also invoked
@@ -67789,18 +67790,26 @@
<li><p>Let the <a href=#latest-entry>latest entry</a> of the <code><a href=#document>Document</a></code> of the <var title="">specified entry</var> be the <var title="">specified entry</var>.</li>
- <li><p>If <var title="">state changed</var> is true, <a href=#concept-event-fire title=concept-event-fire>fire</a>
- a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event with the name <code title=event-popstate><a href=#event-popstate>popstate</a></code> 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 initialized to the value of <var title="">state</var>. This event must bubble but not be cancelable and has no default
- action.</li>
+ <li>
- <li><p>If <var title="">hash changed</var> is true, then <a href=#concept-event-fire title=concept-event-fire>fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a>
- event with the name <code title=event-hashchange><a href=#event-hashchange>hashchange</a></code> 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 initialized to <var title="">old URL</var> and the <code title=dom-HashChangeEvent-newURL><a href=#dom-hashchangeevent-newurl>newURL</a></code> attribute
- initialized to <var title="">new URL</var>. This event must bubble but not be cancelable and has
- no default action.</li>
+ <p>If the <i>asynchronous events</i> flag is not set, then run the following steps
+ synchronously. Otherwise, the <i>asynchronous events</i> flag is set; <a href=#queue-a-task>queue a task</a>
+ to run the following substeps.</p>
+ <ol><li><p>If <var title="">state changed</var> is true, <a href=#concept-event-fire title=concept-event-fire>fire</a>
+ a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event with the name <code title=event-popstate><a href=#event-popstate>popstate</a></code> 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 initialized 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=#concept-event-fire title=concept-event-fire>fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a>
+ event with the name <code title=event-hashchange><a href=#event-hashchange>hashchange</a></code> 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 initialized to <var title="">old URL</var> and the <code title=dom-HashChangeEvent-newURL><a href=#dom-hashchangeevent-newurl>newURL</a></code> attribute
+ initialized to <var title="">new URL</var>. This event must bubble but not be cancelable and has
+ no default action.</li>
+
+ </ol></li>
+
<li><p>The <a href=#current-entry>current entry</a> is now the <var title="">specified entry</var>.</li>
</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
Modified: index
===================================================================
--- index 2013-04-22 17:40:33 UTC (rev 7845)
+++ index 2013-04-22 18:01:54 UTC (rev 7846)
@@ -67557,7 +67557,7 @@
<h4 id=scroll-to-fragid><span class=secno>6.6.9 </span><dfn title=navigate-fragid>Navigating to a fragment identifier</dfn></h4>
<p>When a user agent is supposed to navigate to a fragment identifier, then the user agent must
- <a href=#queue-a-task>queue a task</a> to run the following steps:</p>
+ run the following steps:</p>
<ol><li>
@@ -67579,7 +67579,8 @@
to the address to which the user agent was <a href=#navigate title=navigate>navigating</a>. The title
must be left unset.</li>
- <li><p><a href=#traverse-the-history>Traverse the history</a> to the new entry. This will <a href=#scroll-to-the-fragment-identifier>scroll to the fragment
+ <li><p><a href=#traverse-the-history>Traverse the history</a> to the new entry, with the <i>asynchronous events</i> flag
+ set. This will <a href=#scroll-to-the-fragment-identifier>scroll to the fragment
identifier</a> given in what is now <a href="#the-document's-address">the document's address</a>.</li>
</ol><p class=note>If the scrolling fails because the relevant <a href=#concept-id title=concept-id>ID</a> has
@@ -67650,8 +67651,8 @@
<div class=impl>
<p>When a user agent is required to <dfn id=traverse-the-history>traverse the history</dfn> to a <var title="">specified
- entry</var>, optionally with <a href=#replacement-enabled>replacement enabled</a>, the user agent must act as
- follows.</p>
+ entry</var>, optionally with <a href=#replacement-enabled>replacement enabled</a>, and optionally with the
+ <i>asynchronous events</i> flag set, the user agent must act as follows.</p>
<p class=note>This algorithm is not just invoked when <a href=#traverse-the-history-by-a-delta title="traverse the history by a
delta">explicitly going back or forwards in the session history</a> — it is also invoked
@@ -67789,18 +67790,26 @@
<li><p>Let the <a href=#latest-entry>latest entry</a> of the <code><a href=#document>Document</a></code> of the <var title="">specified entry</var> be the <var title="">specified entry</var>.</li>
- <li><p>If <var title="">state changed</var> is true, <a href=#concept-event-fire title=concept-event-fire>fire</a>
- a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event with the name <code title=event-popstate><a href=#event-popstate>popstate</a></code> 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 initialized to the value of <var title="">state</var>. This event must bubble but not be cancelable and has no default
- action.</li>
+ <li>
- <li><p>If <var title="">hash changed</var> is true, then <a href=#concept-event-fire title=concept-event-fire>fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a>
- event with the name <code title=event-hashchange><a href=#event-hashchange>hashchange</a></code> 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 initialized to <var title="">old URL</var> and the <code title=dom-HashChangeEvent-newURL><a href=#dom-hashchangeevent-newurl>newURL</a></code> attribute
- initialized to <var title="">new URL</var>. This event must bubble but not be cancelable and has
- no default action.</li>
+ <p>If the <i>asynchronous events</i> flag is not set, then run the following steps
+ synchronously. Otherwise, the <i>asynchronous events</i> flag is set; <a href=#queue-a-task>queue a task</a>
+ to run the following substeps.</p>
+ <ol><li><p>If <var title="">state changed</var> is true, <a href=#concept-event-fire title=concept-event-fire>fire</a>
+ a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event with the name <code title=event-popstate><a href=#event-popstate>popstate</a></code> 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 initialized 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=#concept-event-fire title=concept-event-fire>fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a>
+ event with the name <code title=event-hashchange><a href=#event-hashchange>hashchange</a></code> 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 initialized to <var title="">old URL</var> and the <code title=dom-HashChangeEvent-newURL><a href=#dom-hashchangeevent-newurl>newURL</a></code> attribute
+ initialized to <var title="">new URL</var>. This event must bubble but not be cancelable and has
+ no default action.</li>
+
+ </ol></li>
+
<li><p>The <a href=#current-entry>current entry</a> is now the <var title="">specified entry</var>.</li>
</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
Modified: source
===================================================================
--- source 2013-04-22 17:40:33 UTC (rev 7845)
+++ source 2013-04-22 18:01:54 UTC (rev 7846)
@@ -75566,7 +75566,7 @@
<h4 id="scroll-to-fragid"><dfn title="navigate-fragid">Navigating to a fragment identifier</dfn></h4>
<p>When a user agent is supposed to navigate to a fragment identifier, then the user agent must
- <span>queue a task</span> to run the following steps:</p>
+ run the following steps:</p>
<ol>
@@ -75590,7 +75590,8 @@
to the address to which the user agent was <span title="navigate">navigating</span>. The title
must be left unset.</p></li>
- <li><p><span>Traverse the history</span> to the new entry. This will <span>scroll to the fragment
+ <li><p><span>Traverse the history</span> to the new entry, with the <i>asynchronous events</i> flag
+ set. This will <span>scroll to the fragment
identifier</span> given in what is now <span>the document's address</span>.</p></li>
</ol>
@@ -75675,8 +75676,8 @@
<div class="impl">
<p>When a user agent is required to <dfn>traverse the history</dfn> to a <var title="">specified
- entry</var>, optionally with <span>replacement enabled</span>, the user agent must act as
- follows.</p>
+ entry</var>, optionally with <span>replacement enabled</span>, and optionally with the
+ <i>asynchronous events</i> flag set, the user agent must act as follows.</p>
<p class="note">This algorithm is not just invoked when <span title="traverse the history by a
delta">explicitly going back or forwards in the session history</span> — it is also invoked
@@ -75849,23 +75850,35 @@
<li><p>Let the <span>latest entry</span> of the <code>Document</code> of the <var
title="">specified entry</var> be the <var title="">specified entry</var>.</p></li>
- <li><p>If <var title="">state changed</var> is true, <span title="concept-event-fire">fire</span>
- a <span title="concept-events-trusted">trusted</span> event with the name <code
- title="event-popstate">popstate</code> at the <code>Window</code> object of the
- <code>Document</code>, using the <code>PopStateEvent</code> interface, with the <code
- title="dom-PopStateEvent-state">state</code> attribute initialized to the value of <var
- title="">state</var>. This event must bubble but not be cancelable and has no default
- action.</p></li>
+ <li>
- <li><p>If <var title="">hash changed</var> is true, then <span
- title="concept-event-fire">fire</span> a <span title="concept-events-trusted">trusted</span>
- event with the name <code title="event-hashchange">hashchange</code> at the <span>browsing
- context</span>'s <code>Window</code> object, using the <code>HashChangeEvent</code> interface,
- with the <code title="dom-HashChangeEvent-oldURL">oldURL</code> attribute initialized to <var
- title="">old URL</var> and the <code title="dom-HashChangeEvent-newURL">newURL</code> attribute
- initialized to <var title="">new URL</var>. This event must bubble but not be cancelable and has
- no default action.</p></li>
+ <p>If the <i>asynchronous events</i> flag is not set, then run the following steps
+ synchronously. Otherwise, the <i>asynchronous events</i> flag is set; <span>queue a task</span>
+ to run the following substeps.</p>
+ <ol>
+
+ <li><p>If <var title="">state changed</var> is true, <span title="concept-event-fire">fire</span>
+ a <span title="concept-events-trusted">trusted</span> event with the name <code
+ title="event-popstate">popstate</code> at the <code>Window</code> object of the
+ <code>Document</code>, using the <code>PopStateEvent</code> interface, with the <code
+ title="dom-PopStateEvent-state">state</code> attribute initialized to the value of <var
+ title="">state</var>. This event must bubble but not be cancelable and has no default
+ action.</p></li>
+
+ <li><p>If <var title="">hash changed</var> is true, then <span
+ title="concept-event-fire">fire</span> a <span title="concept-events-trusted">trusted</span>
+ event with the name <code title="event-hashchange">hashchange</code> at the <span>browsing
+ context</span>'s <code>Window</code> object, using the <code>HashChangeEvent</code> interface,
+ with the <code title="dom-HashChangeEvent-oldURL">oldURL</code> attribute initialized to <var
+ title="">old URL</var> and the <code title="dom-HashChangeEvent-newURL">newURL</code> attribute
+ initialized to <var title="">new URL</var>. This event must bubble but not be cancelable and has
+ no default action.</p></li>
+
+ </ol>
+
+ </li>
+
<li><p>The <span>current entry</span> is now the <var title="">specified entry</var>.</p></li>
</ol>
More information about the Commit-Watchers
mailing list