- From: poot <cvsmail@w3.org>
- Date: Fri, 18 Sep 2009 16:42:18 +0900 (JST)
- To: public-html-diffs@w3.org
hixie: Cleanup in Undo Manager section. (whatwg r3891) http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.3053&r2=1.3054&f=h http://html5.org/tools/web-apps-tracker?from=3890&to=3891 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.3053 retrieving revision 1.3054 diff -u -d -r1.3053 -r1.3054 --- Overview.html 18 Sep 2009 07:04:17 -0000 1.3053 +++ Overview.html 18 Sep 2009 07:41:46 -0000 1.3054 @@ -977,20 +977,19 @@ <li><a href="#security-risks-in-the-drag-and-drop-model"><span class="secno">7.9.7 </span>Security risks in the drag-and-drop model</a></ol></li> <li><a href="#undo"><span class="secno">7.10 </span>Undo history</a> <ol> - <li><a href="#introduction-5"><span class="secno">7.10.1 </span>Introduction</a></li> - <li><a href="#definitions-2"><span class="secno">7.10.2 </span>Definitions</a></li> - <li><a href="#the-undomanager-interface"><span class="secno">7.10.3 </span>The <code>UndoManager</code> interface</a></li> - <li><a href="#undo:-moving-back-in-the-undo-transaction-history"><span class="secno">7.10.4 </span>Undo: moving back in the undo transaction history</a></li> - <li><a href="#redo:-moving-forward-in-the-undo-transaction-history"><span class="secno">7.10.5 </span>Redo: moving forward in the undo transaction history</a></li> - <li><a href="#the-undomanagerevent-interface-and-the-undo-and-redo-events"><span class="secno">7.10.6 </span>The <code>UndoManagerEvent</code> interface and the <code title="event-undo">undo</code> and <code title="event-redo">redo</code> events</a></li> - <li><a href="#implementation-notes"><span class="secno">7.10.7 </span>Implementation notes</a></ol></li> + <li><a href="#definitions-2"><span class="secno">7.10.1 </span>Definitions</a></li> + <li><a href="#the-undomanager-interface"><span class="secno">7.10.2 </span>The <code>UndoManager</code> interface</a></li> + <li><a href="#undo:-moving-back-in-the-undo-transaction-history"><span class="secno">7.10.3 </span>Undo: moving back in the undo transaction history</a></li> + <li><a href="#redo:-moving-forward-in-the-undo-transaction-history"><span class="secno">7.10.4 </span>Redo: moving forward in the undo transaction history</a></li> + <li><a href="#the-undomanagerevent-interface-and-the-undo-and-redo-events"><span class="secno">7.10.5 </span>The <code>UndoManagerEvent</code> interface and the <code title="event-undo">undo</code> and <code title="event-redo">redo</code> events</a></li> + <li><a href="#implementation-notes"><span class="secno">7.10.6 </span>Implementation notes</a></ol></li> <li><a href="#editing-apis"><span class="secno">7.11 </span>Editing APIs</a></ol></li> <li><a href="#comms"><span class="secno">8 </span>Communication</a> <ol> <li><a href="#event-definitions"><span class="secno">8.1 </span>Event definitions</a></li> <li><a href="#crossDocumentMessages"><span class="secno">8.2 </span>Cross-document messaging</a> <ol> - <li><a href="#introduction-6"><span class="secno">8.2.1 </span>Introduction</a></li> + <li><a href="#introduction-5"><span class="secno">8.2.1 </span>Introduction</a></li> <li><a href="#security-4"><span class="secno">8.2.2 </span>Security</a> <ol> <li><a href="#authors"><span class="secno">8.2.2.1 </span>Authors</a></li> @@ -999,7 +998,7 @@ <li><a href="#posting-messages-with-message-ports"><span class="secno">8.2.4 </span>Posting messages with message ports</a></ol></li> <li><a href="#channel-messaging"><span class="secno">8.3 </span>Channel messaging</a> <ol> - <li><a href="#introduction-7"><span class="secno">8.3.1 </span>Introduction</a></li> + <li><a href="#introduction-6"><span class="secno">8.3.1 </span>Introduction</a></li> <li><a href="#message-channels"><span class="secno">8.3.2 </span>Message channels</a></li> <li><a href="#message-ports"><span class="secno">8.3.3 </span>Message ports</a> <ol> @@ -1128,10 +1127,10 @@ <li><a href="#parsing-xhtml-fragments"><span class="secno">10.4 </span>Parsing XHTML fragments</a></ol></li> <li><a href="#rendering"><span class="secno">11 </span>Rendering</a> <ol> - <li><a href="#introduction-8"><span class="secno">11.1 </span>Introduction</a></li> + <li><a href="#introduction-7"><span class="secno">11.1 </span>Introduction</a></li> <li><a href="#the-css-user-agent-style-sheet-and-presentational-hints"><span class="secno">11.2 </span>The CSS user agent style sheet and presentational hints</a> <ol> - <li><a href="#introduction-9"><span class="secno">11.2.1 </span>Introduction</a></li> + <li><a href="#introduction-8"><span class="secno">11.2.1 </span>Introduction</a></li> <li><a href="#display-types"><span class="secno">11.2.2 </span>Display types</a></li> <li><a href="#margins-and-padding"><span class="secno">11.2.3 </span>Margins and padding</a></li> <li><a href="#alignment"><span class="secno">11.2.4 </span>Alignment</a></li> @@ -1149,7 +1148,7 @@ <li><a href="#tool-bars-0"><span class="secno">11.3.5 </span>Tool bars</a></ol></li> <li><a href="#bindings"><span class="secno">11.4 </span>Bindings</a> <ol> - <li><a href="#introduction-10"><span class="secno">11.4.1 </span>Introduction</a></li> + <li><a href="#introduction-9"><span class="secno">11.4.1 </span>Introduction</a></li> <li><a href="#the-button-element-0"><span class="secno">11.4.2 </span>The <code>button</code> element</a></li> <li><a href="#the-details-element-0"><span class="secno">11.4.3 </span>The <code>details</code> element</a></li> <li><a href="#the-input-element-as-a-text-entry-widget"><span class="secno">11.4.4 </span>The <code>input</code> element as a text entry widget</a></li> @@ -53270,15 +53269,15 @@ data to be dragged from sensitive sources and dropped into hostile documents without the user's consent.</p> - </div><h3 id="undo"><span class="secno">7.10 </span><dfn>Undo history</dfn></h3><p class="XXX annotation"><b>Status: </b><i>First draft</i><p class="XXX">There has got to be a better way of doing this, surely.<h4 id="introduction-5"><span class="secno">7.10.1 </span>Introduction</h4><p class="XXX">...<div class="impl"> + </div><h3 id="undo"><span class="secno">7.10 </span><dfn>Undo history</dfn></h3><p class="XXX annotation"><b>Status: </b><i>First draft</i><div class="impl"> - <h4 id="definitions-2"><span class="secno">7.10.2 </span>Definitions</h4> + <h4 id="definitions-2"><span class="secno">7.10.1 </span>Definitions</h4> <p>The user agent must associate an <dfn id="undo-transaction-history">undo transaction history</dfn> with each <code><a href="#htmldocument">HTMLDocument</a></code> object.</p> <p>The <a href="#undo-transaction-history">undo transaction history</a> is a list of - entries. The entries are of two type: <a href="#dom-changes">DOM changes</a> and + entries. The entries are of two types: <a href="#dom-changes">DOM changes</a> and <a href="#undo-object" title="undo object">undo objects</a>.</p> <p>Each <dfn id="dom-changes">DOM changes</dfn> entry in the <a href="#undo-transaction-history">undo transaction @@ -53288,14 +53287,13 @@ <ul><li>Changes to the content attributes of an <code>Element</code> node.</li> - <li>Changes to the IDL attributes of a <code>Node</code>.</li> <!-- - XXX uh, these change on their own, so clearly this isn't going to - fly. Which IDL attributes, exactly? --> - <li>Changes to the DOM hierarchy of nodes that are descendants of the <code><a href="#htmldocument">HTMLDocument</a></code> object (<code>parentNode</code>, <code>childNodes</code>).</li> + <li>Changes to internal state, such as a form control's <a href="#concept-fe-value" title="concept-fe-value">value</a> or <a href="#concept-input-checked-dirty-flag" title="concept-input-checked-dirty-flag">dirty checkedness + flag</a>.</li> + </ul><p><dfn id="undo-object">Undo object</dfn> entries consist of objects representing state that scripts running in the document are managing. For example, a Web mail application could use an <a href="#undo-object">undo @@ -53310,31 +53308,7 @@ interactions with server-side state, or in the implementation of a drawing tool).</p> - </div><h4 id="the-undomanager-interface"><span class="secno">7.10.3 </span>The <code><a href="#undomanager">UndoManager</a></code> interface</h4><div class="impl"> - - <div class="XXX"> - - <p>This API sucks. Seriously. It's a terrible API. Really bad. I - hate it. Here are the requirements:</p> - - <ul><li>Has to cope with cases where the server has undo state already - when the page is loaded, that can be stuffed into the undo buffer - onload.</li> - - <li>Has to support undo/redo.</li> - - <li>Has to cope with the "undo" action being "contact the server - and tell it to undo", rather than it being the opposite of the - "redo" action.</li> - - <li>Has to cope with some undo states expiring from the undo - history (e.g. server can only remember one undelete action) but - other states not expiring (e.g. client can undo arbitrary amounts - of local edits).</li> - - </ul></div> - - </div><p>To manage <a href="#undo-object">undo object</a> entries in the <a href="#undo-transaction-history">undo + </div><h4 id="the-undomanager-interface"><span class="secno">7.10.2 </span>The <code><a href="#undomanager">UndoManager</a></code> interface</h4><p>To manage <a href="#undo-object">undo object</a> entries in the <a href="#undo-transaction-history">undo transaction history</a>, the <code><a href="#undomanager">UndoManager</a></code> interface can be used:<pre class="idl">interface <dfn id="undomanager">UndoManager</dfn> { readonly attribute unsigned long <a href="#dom-undomanager-length" title="dom-UndoManager-length">length</a>; @@ -53430,7 +53404,7 @@ case there are no <span>supported indexed properties</span>.</p> <p>The <dfn id="dom-undomanager-item" title="dom-UndoManager-item"><code>item(<var title="">n</var>)</code></dfn> method must return the <var title="">n</var>th <a href="#undo-object">undo object</a> entry in the <a href="#undo-transaction-history">undo - transaction history</a>.</p> <!-- XXX out of range handling? --> + transaction history</a>, if there is one, or null otherwise.</p> <p>The <a href="#undo-transaction-history">undo transaction history</a> has a <dfn id="undo-position" title="undo position">current position</dfn>. This is the position between two @@ -53472,15 +53446,6 @@ position</a> must be removed (as if <code title="dom-UndoManager-clearRedo"><a href="#dom-undomanager-clearredo">clearRedo()</a></code> had been called).</p> - <p class="XXX">We could fire events when someone adds - something to the undo history -- one event per undo object entry - before the position (or after, during redo addition), allowing the - script to decide if that entry should remain or not. Or - something. Would make it potentially easier to expire server-held - state when the server limitations come into play.</p> - - <!-- XXX note on expiring undo in case server can only do one level undo --> - <p>The <dfn id="dom-undomanager-remove" title="dom-UndoManager-remove"><code>remove(<var title="">index</var>)</code></dfn> method must remove the <a href="#undo-object">undo object</a> entry with the specified <var title="">index</var>. If the index is less than zero or greater than or equal to <code title="dom-UndoManager-length"><a href="#dom-undomanager-length">length</a></code> then the method must @@ -53499,13 +53464,9 @@ <a href="#dom-changes">DOM changes</a> entries or <a href="#undo-object">undo object</a> entries.</p> - <p class="XXX">Another idea is to have a way for scripts to - say "startBatchingDOMChangesForUndo()" and after that the changes to - the DOM go in as if the user had done them.</p> - </div><div class="impl"> - <h4 id="undo:-moving-back-in-the-undo-transaction-history"><span class="secno">7.10.4 </span><dfn title="do-undo">Undo: moving back in the undo transaction history</dfn></h4> + <h4 id="undo:-moving-back-in-the-undo-transaction-history"><span class="secno">7.10.3 </span><dfn title="do-undo">Undo: moving back in the undo transaction history</dfn></h4> <p>When the user invokes an undo operation, or when the <code title="dom-document-execCommand"><a href="#execCommand">execCommand()</a></code> method is called with the <code title="command-undo"><a href="#command-undo">undo</a></code> command, the @@ -53542,7 +53503,7 @@ command to undo his undo.</p> - <h4 id="redo:-moving-forward-in-the-undo-transaction-history"><span class="secno">7.10.5 </span><dfn title="do-redo">Redo: moving forward in the undo transaction history</dfn></h4> + <h4 id="redo:-moving-forward-in-the-undo-transaction-history"><span class="secno">7.10.4 </span><dfn title="do-redo">Redo: moving forward in the undo transaction history</dfn></h4> <p>When the user invokes a redo operation, or when the <code title="dom-document-execCommand"><a href="#execCommand">execCommand()</a></code> method is called with the <code title="command-redo"><a href="#command-redo">redo</a></code> command, the @@ -53576,7 +53537,7 @@ object, using the <a href="#undo-object">undo object</a> entry's associated undo object as the event's data.</p> - </div><h4 id="the-undomanagerevent-interface-and-the-undo-and-redo-events"><span class="secno">7.10.6 </span>The <code><a href="#undomanagerevent">UndoManagerEvent</a></code> interface and the <code title="event-undo"><a href="#event-undo">undo</a></code> and <code title="event-redo"><a href="#event-redo">redo</a></code> events</h4><pre class="idl">interface <dfn id="undomanagerevent">UndoManagerEvent</dfn> : Event { + </div><h4 id="the-undomanagerevent-interface-and-the-undo-and-redo-events"><span class="secno">7.10.5 </span>The <code><a href="#undomanagerevent">UndoManagerEvent</a></code> interface and the <code title="event-undo"><a href="#event-undo">undo</a></code> and <code title="event-redo"><a href="#event-redo">redo</a></code> events</h4><pre class="idl">interface <dfn id="undomanagerevent">UndoManagerEvent</dfn> : Event { readonly attribute any <a href="#dom-undomanagerevent-data" title="dom-UndoManagerEvent-data">data</a>; void <a href="#dom-undomanagerevent-initundomanagerevent" title="dom-UndoManagerEvent-initUndoManagerEvent">initUndoManagerEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg); void <span title="dom-UndoManagerEvent-initUndoManagerEventNS">initUndoManagerEventNS</span>(in DOMString namespaceURIArg, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg); @@ -53606,7 +53567,7 @@ </div><div class="impl"> - <h4 id="implementation-notes"><span class="secno">7.10.7 </span>Implementation notes</h4> + <h4 id="implementation-notes"><span class="secno">7.10.6 </span>Implementation notes</h4> <p>How user agents present the above conceptual model to the user is not defined. The undo interface could be a filtered view of the @@ -54173,7 +54134,7 @@ <p>The <a href="#task-source">task source</a> for the <a href="#concept-task" title="concept-task">tasks</a> in <a href="#crossDocumentMessages">cross-document messaging</a> is the <dfn id="posted-message-task-source">posted message task source</dfn>.</p> - </div><h4 id="introduction-6"><span class="secno">8.2.1 </span>Introduction</h4><p><i>This section is non-normative.</i><div class="example"> + </div><h4 id="introduction-5"><span class="secno">8.2.1 </span>Introduction</h4><p><i>This section is non-normative.</i><div class="example"> <p>For example, if document A contains an <code><a href="#the-iframe-element">iframe</a></code> element that contains document B, and script in document A calls @@ -54445,7 +54406,7 @@ sections be kept separate so that implementors can avoid getting confused with the 'port' step. --> - </div><h3 id="channel-messaging"><span class="secno">8.3 </span><dfn>Channel messaging</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><h4 id="introduction-7"><span class="secno">8.3.1 </span>Introduction</h4><p><i>This section is non-normative.</i><p class="XXX">An introduction to the channel and port + </div><h3 id="channel-messaging"><span class="secno">8.3 </span><dfn>Channel messaging</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i><h4 id="introduction-6"><span class="secno">8.3.1 </span>Introduction</h4><p><i>This section is non-normative.</i><p class="XXX">An introduction to the channel and port APIs.<h4 id="message-channels"><span class="secno">8.3.2 </span>Message channels</h4><pre class="idl">[<a href="#dom-messagechannel" title="dom-MessageChannel">Constructor</a>] interface <dfn id="messagechannel">MessageChannel</dfn> { readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port1" title="dom-channel-port1">port1</a>; @@ -64776,7 +64737,7 @@ lead to this experience.</i></p> - <h3 id="introduction-8"><span class="secno">11.1 </span>Introduction</h3> + <h3 id="introduction-7"><span class="secno">11.1 </span>Introduction</h3> <p>In general, user agents are expected to support CSS, and many of the suggestions in this section are expressed in CSS terms. User @@ -64811,7 +64772,7 @@ <h3 id="the-css-user-agent-style-sheet-and-presentational-hints"><span class="secno">11.2 </span>The CSS user agent style sheet and presentational hints</h3> - <h4 id="introduction-9"><span class="secno">11.2.1 </span>Introduction</h4> + <h4 id="introduction-8"><span class="secno">11.2.1 </span>Introduction</h4> <p>The CSS rules given in these subsections are, unless otherwise specified, expected to be used as part of the user-agent level style @@ -65941,7 +65902,7 @@ <h3 id="bindings"><span class="secno">11.4 </span>Bindings</h3> - <h4 id="introduction-10"><span class="secno">11.4.1 </span>Introduction</h4> + <h4 id="introduction-9"><span class="secno">11.4.1 </span>Introduction</h4> <p>A number of elements have their rendering defined in terms of the 'binding' property. <a href="#refsBECSS">[BECSS]</a></p>
Received on Friday, 18 September 2009 07:42:59 UTC