- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Sat, 02 May 2009 21:32:00 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec In directory hutz:/tmp/cvs-serv15369 Modified Files: Overview.html Log Message: Change the way the Command API is defined so that it applies to all elements, so that we can make any element a command without jumping through hoops. (whatwg r3063) Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.2221 retrieving revision 1.2222 diff -u -d -r1.2221 -r1.2222 --- Overview.html 2 May 2009 20:09:13 -0000 1.2221 +++ Overview.html 2 May 2009 21:31:57 -0000 1.2222 @@ -904,7 +904,7 @@ <li><a href="#redo:-moving-forward-in-the-undo-transaction-history"><span class="secno">6.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">6.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">6.10.7 </span>Implementation notes</a></ol></li> - <li><a href="#command-apis"><span class="secno">6.11 </span>Command APIs</a></ol></li> + <li><a href="#editing-apis"><span class="secno">6.11 </span>Editing APIs</a></ol></li> <li><a href="#comms"><span class="secno">7 </span>Communication</a> <ol> <li><a href="#event-definitions"><span class="secno">7.1 </span>Event definitions</a></li> @@ -7093,6 +7093,14 @@ attribute <a href="#htmlmenuelement">HTMLMenuElement</a> <a href="#dom-contextmenu" title="dom-contextMenu">contextMenu</a>; attribute boolean <a href="#dom-spellcheck" title="dom-spellcheck">spellcheck</a>; + // <a href="#command-api">command API</a> + readonly attribute DOMString <a href="#dom-command-ro-commandtype" title="dom-command-ro-commandType">commandType</a>; + readonly attribute DOMString <a href="#dom-command-ro-label" title="dom-command-ro-label">label</a>; + readonly attribute DOMString <a href="#dom-command-ro-icon" title="dom-command-ro-icon">icon</a>; + readonly attribute boolean <a href="#dom-command-ro-disabled" title="dom-command-ro-disabled">disabled</a>; + readonly attribute boolean <a href="#dom-command-ro-checked" title="dom-command-ro-checked">checked</a>;<!-- v2COMMAND + readonly attribute <span>HTMLCollection</span> <span title="dom-command-ro-triggers">triggers</span>;--> + // <span>styling</span> readonly attribute <span>CSSStyleDeclaration</span> <a href="#dom-style" title="dom-style">style</a>; @@ -12358,8 +12366,6 @@ attribute DOMString <a href="#dom-a-search" title="dom-a-search">search</a>; attribute DOMString <a href="#dom-a-hash" title="dom-a-hash">hash</a>; };</pre> - <p>The <code title="command-ro"><a href="#command-ro">Command</a></code> interface must also be implemented by - this element.</p> </dd> </dl><p>If the <code><a href="#the-a-element">a</a></code> element has an <code title="attr-hyperlink-href"><a href="#attr-hyperlink-href">href</a></code> attribute, then it <a href="#represents">represents</a> a <a href="#hyperlink">hyperlink</a> (a hypertext @@ -34451,10 +34457,8 @@ attribute boolean <a href="#dom-command-checked" title="dom-command-checked">checked</a>; attribute DOMString <a href="#dom-command-radiogroup" title="dom-command-radiogroup">radiogroup</a>; attribute boolean <a href="#dom-command-default" title="dom-command-default">default</a>; - void <a href="#dom-command-click" title="dom-command-click">click</a>(); // shadows <code><a href="#htmlelement">HTMLElement</a></code>.<code title="dom-click"><a href="#dom-click">click()</a></code> + void <a href="#dom-command-click" title="dom-command-click">click</a>(); // shadows <code><a href="#htmlelement">HTMLElement</a></code>.<code title="dom-click"><a href="#dom-click">click()</a></code> };</pre> - <p>The <code title="command-ro"><a href="#command-ro">Command</a></code> interface must also be implemented by - this element.</p> </dd> </dl><p>The <code><a href="#the-command">command</a></code> element represents a command that the user can invoke.<p>The <dfn id="attr-command-type" title="attr-command-type"><code>type</code></dfn> @@ -34596,8 +34600,6 @@ readonly attribute boolean <a href="#dom-bb-supported" title="dom-bb-supported">supported</a>; readonly attribute boolean <a href="#dom-bb-disabled" title="dom-bb-disabled">disabled</a>; };</pre> - <p>The <code title="command-ro"><a href="#command-ro">Command</a></code> interface must also - be implemented by this element.</p> </dd> </dl><p>The <code><a href="#the-bb-element">bb</a></code> element represents a user agent command that the user can invoke.<p>The <dfn id="attr-bb-type" title="attr-bb-type"><code>type</code></dfn> attribute @@ -35103,36 +35105,8 @@ way to refer to it.</dd> --> - </dl><p>Commands are represented by elements in the DOM. Any element that - can define a command also implements the <code title="command-ro"><a href="#command-ro">Command</a></code> interface:<p class="XXX">Actually even better would be to just mix it - straight into those interfaces somehow.<pre class="idl">[NoInterfaceObject] interface <dfn id="command-ro" title="command-ro">Command</dfn> {<!-- - NOTE: to avoid clashing with the HTMLCommandElement interface's names, - the members of this interface use cross-references with the title - dom-command-ro-foo (note the "ro", which stands for "readonly"). ---> - readonly attribute DOMString <a href="#dom-command-ro-commandtype" title="dom-command-ro-commandType">commandType</a>; - readonly attribute DOMString <a href="#dom-command-ro-id" title="dom-command-ro-id">id</a>; - readonly attribute DOMString <a href="#dom-command-ro-label" title="dom-command-ro-label">label</a>; - readonly attribute DOMString <a href="#dom-command-ro-title" title="dom-command-ro-title">title</a>; - readonly attribute DOMString <a href="#dom-command-ro-icon" title="dom-command-ro-icon">icon</a>; - readonly attribute boolean <a href="#dom-command-ro-hidden" title="dom-command-ro-hidden">hidden</a>; - readonly attribute boolean <a href="#dom-command-ro-disabled" title="dom-command-ro-disabled">disabled</a>; - readonly attribute boolean <a href="#dom-command-ro-checked" title="dom-command-ro-checked">checked</a>; - void <a href="#dom-command-ro-click" title="dom-command-ro-click">click</a>();<!-- v2COMMAND - readonly attribute <span>HTMLCollection</span> <span title="dom-command-ro-triggers">triggers</span>;--> -};</pre><div class="impl"> - - <p>The <code title="command-ro"><a href="#command-ro">Command</a></code> interface must be - implemented by any element capable of defining a command. All the - attributes of the <code title="command-ro"><a href="#command-ro">Command</a></code> interface - are read-only. Elements implementing this interface might implement - other interfaces that have attributes with identical names but that - are mutable; in bindings that flatten all supported interfaces on - the object, the mutable attributes must shadow the readonly - attributes defined in the <code title="command-ro"><a href="#command-ro">Command</a></code> - interface.</p> - - </div><dl class="domintro"><dt><var title="">element</var> . <code title="dom-command-ro-commandType"><a href="#dom-command-ro-commandtype">commandType</a></code></dt> + </dl><p>These facets are exposed on elements using the <dfn id="command-api">command + API</dfn>:<dl class="domintro"><dt><var title="">element</var> . <code title="dom-command-ro-commandType"><a href="#dom-command-ro-commandtype">commandType</a></code></dt> <dd> @@ -35140,7 +35114,7 @@ </dd> - <dt><var title="">element</var> . <code title="dom-command-ro-id"><a href="#dom-command-ro-id">id</a></code></dt> + <dt><var title="">element</var> . <code title="dom-id"><a href="#dom-id">id</a></code></dt> <dd> @@ -35156,7 +35130,7 @@ </dd> - <dt><var title="">element</var> . <code title="dom-command-ro-title"><a href="#dom-command-ro-title">title</a></code></dt> + <dt><var title="">element</var> . <code title="dom-title"><a href="#dom-title">title</a></code></dt> <dd> @@ -35172,7 +35146,7 @@ </dd> - <dt><var title="">element</var> . <code title="dom-command-ro-hidden"><a href="#dom-command-ro-hidden">hidden</a></code></dt> + <dt><var title="">element</var> . <code title="dom-hidden"><a href="#dom-hidden">hidden</a></code></dt> <dd> @@ -35196,7 +35170,7 @@ </dd> - <dt><var title="">element</var> . <code title="dom-command-ro-click"><a href="#dom-command-ro-click">click</a></code></dt> + <dt><var title="">element</var> . <code title="dom-click"><a href="#dom-click">click</a></code>()</dt> <dd> @@ -35221,25 +35195,12 @@ element is "command", "radio", or "checked" respectively. If the element does not define a command, it must return null.</p> - <p>The <dfn id="dom-command-ro-id" title="dom-command-ro-id"><code>id</code></dfn> attribute - must return the command's <a href="#command-facet-id" title="command-facet-ID">ID</a>, - or null if the element does not define a command or defines an - <a href="#anonymous-command">anonymous command</a>. This attribute will be shadowed by - the <code title="dom-id"><a href="#dom-id">id</a></code> DOM attribute on the - <code><a href="#htmlelement">HTMLElement</a></code> interface.</p> - <p>The <dfn id="dom-command-ro-label" title="dom-command-ro-label"><code>label</code></dfn> attribute must return the command's <a href="#command-facet-label" title="command-facet-Label">Label</a>, or null if the element does not define a command or does not specify a <a href="#command-facet-label" title="command-facet-Label">Label</a>. This attribute will be shadowed by the <code title="">label</code> DOM attribute on <code><a href="#the-option-element">option</a></code> and <code><a href="#the-command">command</a></code> elements.</p> - <p>The <dfn id="dom-command-ro-title" title="dom-command-ro-title"><code>title</code></dfn> - attribute must return the command's <a href="#command-facet-hint" title="command-facet-Hint">Hint</a>, or null if the element does - not define a command or does not specify a <a href="#command-facet-hint" title="command-facet-Hint">Hint</a>. This attribute will be - shadowed by the <code title="dom-title"><a href="#dom-title">title</a></code> DOM attribute - on the <code><a href="#htmlelement">HTMLElement</a></code> interface.</p> - <p>The <dfn id="dom-command-ro-icon" title="dom-command-ro-icon"><code>icon</code></dfn> attribute must return the <a href="#absolute-url">absolute URL</a> of the command's <a href="#command-facet-icon" title="command-facet-Icon">Icon</a>. If the element does @@ -35248,13 +35209,6 @@ by the <code title="dom-command-icon"><a href="#dom-command-icon">icon</a></code> DOM attribute on <code><a href="#the-command">command</a></code> elements.</p> - <p>The <dfn id="dom-command-ro-hidden" title="dom-command-ro-hidden"><code>hidden</code></dfn> - attribute must return true if the command's <a href="#command-facet-hiddenstate" title="command-facet-HiddenState">Hidden State</a> is that the - command is hidden, and false if it is that the command is not - hidden. If the element does not define a command, the attribute must - return false. This attribute will be shadowed by the <code title="dom-hidden"><a href="#dom-hidden">hidden</a></code> DOM attribute on the - <code><a href="#htmlelement">HTMLElement</a></code> interface.</p> - <p>The <dfn id="dom-command-ro-disabled" title="dom-command-ro-disabled"><code>disabled</code></dfn> attribute must return true if the command's <a href="#command-facet-disabledstate" title="command-facet-DisabledState">Disabled State</a> is that the command is disabled, and false if the command is not @@ -35271,11 +35225,6 @@ must return false. This attribute will be shadowed by the <code title="">checked</code> attribute on <code><a href="#the-input-element">input</a></code> and <code><a href="#the-command">command</a></code> elements.</p> - <p>The <dfn id="dom-command-ro-click" title="dom-command-ro-click"><code>click()</code></dfn> - method must trigger the <a href="#command-facet-action" title="command-facet-Action">Action</a> for the command. If the - element does not define a command, this method must do nothing. This - method will be shadowed by the <code title="dom-click"><a href="#dom-click">click()</a></code> method on <a href="#html-elements">HTML - elements</a>, and is included only for completeness.</p> <!--v2COMMAND <p>The <dfn title="dom-command-ro-triggers"><code>triggers</code></dfn> @@ -35285,13 +35234,30 @@ <span>live</span>. While the element does not define a command, the list must be empty.</p> --> + + <p class="note">The <a href="#command-facet-id" title="command-facet-ID">ID</a> facet + is exposed by the the <code title="dom-id"><a href="#dom-id">id</a></code> DOM attribute, + the <a href="#command-facet-hint" title="command-facet-Hint">Hint</a> facet is exposed by + the <code title="dom-title"><a href="#dom-title">title</a></code> DOM attribute, and the + <a href="#command-facet-hiddenstate" title="command-facet-HiddenState">Hidden State</a> facet is + exposed by the <code title="dom-hidden"><a href="#dom-hidden">hidden</a></code> DOM + attribute.</p> + + </div><hr><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-images"><a href="#dom-document-images">images</a></code></dt> + <dd> + <p>Returns an <code><a href="#htmlcollection-0">HTMLCollection</a></code> of the elements in the + <code>Document</code> that define commands and have IDs.</p> + </dd> + + </dl><div class="impl"> + <p>The <dfn id="dom-document-commands" title="dom-document-commands"><code>commands</code></dfn> attribute of the document's <code><a href="#htmldocument">HTMLDocument</a></code> interface must return an <code><a href="#htmlcollection-0">HTMLCollection</a></code> rooted at the <code>Document</code> node, whose filter matches only elements that define commands and have IDs.</p> - </div><p>The following elements can define commands: <code title="a-command"><a href="#using-the-a-element-to-define-a-command">a</a></code>, <code title="button-command"><a href="#using-the-button-element-to-define-a-command">button</a></code>, <code title="input-command"><a href="#using-the-input-element-to-define-a-command">input</a></code>, <code title="option-command"><a href="#using-the-option-element-to-define-a-command">option</a></code>, <code title="command-element"><a href="#using-the-command-element-to-define-a-command">command</a></code>, <code title="bb-command"><a href="#using-the-bb-element-to-define-a-command">bb</a></code>.<div class="impl"> + </div><div class="impl"> <h5 id="using-the-a-element-to-define-a-command"><span class="secno">4.11.6.1 </span><dfn title="a-command">Using the <code>a</code> element to define a command</dfn></h5> @@ -45606,7 +45572,7 @@ described in this section, however, such that to a script there is no detectable difference.</p> - </div><h3 id="command-apis"><span class="secno">6.11 </span>Command APIs</h3><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-execCommand"><a href="#execCommand">execCommand</a></code>(<var title="">commandId</var> [, <var title="">showUI</var> [, <var title="">value</var> ] ] )</dt> + </div><h3 id="editing-apis"><span class="secno">6.11 </span>Editing APIs</h3><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-execCommand"><a href="#execCommand">execCommand</a></code>(<var title="">commandId</var> [, <var title="">showUI</var> [, <var title="">value</var> ] ] )</dt> <dd>
Received on Saturday, 2 May 2009 21:32:10 UTC