ISSUE-113: Per resolution in the 4/20/2011 telecon, I've trimmed the description of the resize event to only define the basic interoperable behavior of the resize event. UA's and host languages are allowed to extend the resize event to elements; but this will not be defined in D3E.
--- a/html/DOM3-Events.html Mon Apr 25 08:32:56 2011 +0900
+++ b/html/DOM3-Events.html Mon Apr 25 10:05:05 2011 +0900
@@ -2165,7 +2165,7 @@
<tr class="assert must"><th>Interface</th><td><a href="#events-UIEvent"><code>UIEvent</code></a></td></tr>
<tr class="assert must"><th>Sync / Async</th><td>Sync</td></tr>
<tr class="assert must"><th>Bubbles</th><td>No</td></tr>
- <tr class="assert must"><th>Target</th><td><a class="def" href="#glossary-defaultView"><code>defaultView</code></a>, <code>Document</code></td></tr>
+ <tr class="assert must"><th>Target</th><td><a class="def" href="#glossary-defaultView"><code>defaultView</code></a></td></tr>
<tr class="assert must"><th>Cancelable</th><td>No</td></tr>
<tr class="assert must"><th>Default action</th><td>none</td></tr>
<tr class="assert must"><th>Context info</th>
@@ -2180,16 +2180,8 @@
</table>
<p>A <a class="def" href="#glossary-user-agent">user agent</a> must dispatch this event when a document view has been resized. This event type is dispatched after all effects for that occurrence of resizing of that particular <a class="def" href="#glossary-event-target">event target</a> have been executed by the <a class="def" href="#glossary-user-agent">user agent</a>.</p>
- <p>In the case of a user-initiated resizing, i.e when a user expands or shrinks a browser window by dragging the edge of the frame, the frame undergoes several consecutive size changes, but these intermediate stages must not be dispatched as <a class="eventtype" href="#event-type-resize"><code>resize</code></a> events.</p>
- <p class="note" id="note-resize-multiple"><strong>Note:</strong> Some <a class="def" href="#glossary-user-agent">user agents</a> may have an optional mode in which the document is reflowed dynamically while the window is resized; in this mode, <a class="eventtype" href="#event-type-resize"><code>resize</code></a> events may be dispatched continuously while the resizing operation is in progress.</p>
- <p>Once the user has finished resizing, in a system- and implementation-determined manner such as the release of the pointer button or after a sufficiently long pause, or once any instant resizing (e.g., from a window maximize button or a script effect) has been executed, the <a class="def" href="#glossary-user-agent">user agent</a> must perform any relevant layout recalculations or other actions caused by the resizing, and must subsequently dispatch a single <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event that reflects the final state of the <a class="def" href="#glossary-event-target">event target</a>. In the case where multiple <a class="eventtype" href="#event-type-resize"><code>resize</code></a> events have been triggered as the result of the same action, even for different <a class="def" href="#glossary-event-target">event target</a>, the <a class="def" href="#glossary-user-agent">user agent</a> must dispatch each <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event only after the previous <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event has completed its <a class="def" href="#glossary-propagation-path">propagation path</a> or been canceled.</p>
- <p class="issue" id="issue-resize-queue"><strong>Issue:</strong> There is no current interoperability here. See <a href="http://www.w3.org/2008/webapps/track/issues/113" title="ISSUE-113 - Web Applications Working Group Tracker">ISSUE-113</a>.</p>
- <p>A <a class="def" href="#glossary-user-agent">user agent</a> should dispatch the <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event before the document is re-rendered, to provide the content author an opportunity to adjust the content to suit the new size.</p>
- <p class="issue" id="issue-resize-repaint"><strong>Issue:</strong> Firing the event between reflow and repaint may be difficult in some UAs (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=227495#c30">Mozilla Bug #227495</a>), but it seems the behavior most content authors would want. Should we keep this, or change it to fire after repaint?</p>
-<!-- <p class="example" id="example-resize"><strong>Example:</strong> </p> -->
+ <p><a class="def" href="#glossary-user-agent">User agents</a> which support continuous reflow of the document's layout during user-initiated resizing must dispatch this event synchronously after each reflow of the document.</p>
<p>The <a class="def" href="#glossary-defaultView"><code>defaultView</code></a> object should always be resizable. A <a class="def" href="#glossary-host-language">host language</a> may define certain elements to be resizable, and under what conditions (e.g., specific elements like <code class="element">iframe</code>, or elements with particular characteristics like width and height); however, this specification does not define the behavior for elements.</p>
- <p class="note" id="note-resize-element"><strong>Note:</strong> In some implementations, certain elements may be resizable, such as the <code class="element">object</code> or <code class="element">iframe</code> elements.</p>
-
<p class="note" id="note-resize-zoom"><strong>Note:</strong> The <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event is distinct from the SVG <code class="eventtype">zoom</code> event types, though both may occur at the same time, or as the consequence of the same user action. In particular, browser “font zooming” or “page zooming” should not necessarily trigger a <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event.</p>
<p class="note" id="note-resize-bubbling"><strong>Note:</strong> In previous DOM Events specifications, the <a class="eventtype" href="#event-type-resize"><code>resize</code></a> event type was defined to have a <a class="def" href="#glossary-bubbling-phase">bubbling phase</a>, but for performance reasons, this was not implemented in most user agents, and this specification removes the <a class="def" href="#glossary-bubbling-phase">bubbling phase</a> for this event.</p>
</dd>