- From: poot <cvsmail@w3.org>
- Date: Thu, 4 Feb 2010 11:29:24 +0900 (JST)
- To: public-html-diffs@w3.org
hixie: Make the drag-and-drop API lowercase all the format strings.
(whatwg r4645)
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.3698&r2=1.3699&f=h
http://html5.org/tools/web-apps-tracker?from=4644&to=4645
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.3698
retrieving revision 1.3699
diff -u -d -r1.3698 -r1.3699
--- Overview.html 4 Feb 2010 01:43:40 -0000 1.3698
+++ Overview.html 4 Feb 2010 02:29:13 -0000 1.3699
@@ -47660,6 +47660,20 @@
Ack: Ben Laurie (@g)
+ * Promises. Should be able to say "if you accept this drop, then
+ I can provide the File object that corresponds to it
+ eventually".
+
+ * Exposing more information about each item. Best idea (from
+ Eduard Pascual) is to have a new attribute on dataTransfer
+ that's a list of items, each of which has:
+
+ .kind = text data, File data, promise
+ .type = a MIME type
+ .getData(callback) = calls the callback once the data is available
+ .setData(value) = replace the value
+ .remove() = removes the entry
+
--><p>This section defines an event-based drag-and-drop mechanism.<p>This specification does not define exactly what a
<em>drag-and-drop operation</em> actually is.<p>On a visual medium with a pointing device, a drag operation could
be the default action of a <code title="event-mousedown">mousedown</code> event that is followed by a
@@ -47802,9 +47816,10 @@
};</pre><p><code><a href="#datatransfer">DataTransfer</a></code> objects can hold pieces of data, each
associated with a unique format. Formats are generally given by
<a href="#mime-type" title="MIME type">MIME types</a>, with some values
- special-cased for legacy reasons. For the purposes of this API,
- however, the format strings are opaque, <a href="#case-sensitive">case-sensitive</a>,
- strings, and the empty string is a valid format string.<dl class="domintro"><dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-dropEffect"><a href="#dom-datatransfer-dropeffect">dropEffect</a></code> [ = <var title="">value</var> ]</dt>
+ special-cased for legacy reasons. However, the API does not enforce
+ this; non-MIME-type values can be added as well. All formats are
+ identified by strings that are <a href="#converted-to-ascii-lowercase">converted to ASCII
+ lowercase</a> by the API.<dl class="domintro"><dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-dropEffect"><a href="#dom-datatransfer-dropeffect">dropEffect</a></code> [ = <var title="">value</var> ]</dt>
<dd>
@@ -47926,14 +47941,10 @@
<p>The <dfn id="dom-datatransfer-types" title="dom-DataTransfer-types"><code>types</code></dfn>
attribute must return a live <code>DOMStringList</code> that
contains the list of formats that were added to the
- <code><a href="#datatransfer">DataTransfer</a></code> object in the corresponding <code title="event-dragstart"><a href="#event-dragstart">dragstart</a></code> event. If any files were
+ <code><a href="#datatransfer">DataTransfer</a></code> object in the corresponding <code title="event-dragstart"><a href="#event-dragstart">dragstart</a></code> event. If any files were
included in the drag, then the <code>DOMStringList</code> object
- must in addition include the string "<code title="">Files</code>".</p>
-
- <p class="note">If the <code title="dom-DataTransfer-setData"><a href="#dom-datatransfer-setdata">setData()</a></code> method is invoked
- with the string "<code title="">Files</code>", and some files were
- included in the drag, then the string "<code title="">Files</code>"
- will appear twice in the <code title="dom-DataTransfer-types"><a href="#dom-datatransfer-types">types</a></code> attribute's list.</p>
+ must in addition include the string "<code title="">Files</code>". (This value can be distinguished from the
+ other values because it is not lowercase.)</p>
<p>The <dfn id="dom-datatransfer-cleardata" title="dom-DataTransfer-clearData"><code>clearData()</code></dfn>
method, when called with no arguments, must clear the
@@ -47947,28 +47958,32 @@
<p>When called with an argument, the <code title="dom-DataTransfer-clearData"><a href="#dom-datatransfer-cleardata">clearData(<var title="">format</var>)</a></code> method must clear the
<code><a href="#datatransfer">DataTransfer</a></code> object of any data associated with the
- given <var title="">format</var>. If <var title="">format</var> is
- the value "<code title="">Text</code>", then it must be treated as
- "<code title="">text/plain</code>". If the <var title="">format</var> is "<code title="">URL</code>", then it must
- be treated as "<code title="">text/uri-list</code>".</p>
+ given <var title="">format</var>, <a href="#converted-to-ascii-lowercase">converted to ASCII
+ lowercase</a>. If <var title="">format</var> (after conversion to
+ lowercase) is the value "<code title="">text</code>", then it must
+ be treated as "<code title="">text/plain</code>". If the <var title="">format</var> (after conversion to lowercase) is "<code title="">url</code>", then it must be treated as "<code title="">text/uri-list</code>".</p>
<p>The <dfn id="dom-datatransfer-setdata" title="dom-DataTransfer-setData"><code>setData(<var title="">format</var>, <var title="">data</var>)</code></dfn> method
must add <var title="">data</var> to the data stored in the
- <code><a href="#datatransfer">DataTransfer</a></code> object, labeled as being of the type <var title="">format</var>. This must replace any previous data that had
- been set for that format. If <var title="">format</var> is the value
- "<code title="">Text</code>", then it must be treated as "<code title="">text/plain</code>". If the <var title="">format</var> is
- "<code title="">URL</code>", then it must be treated as "<code title="">text/uri-list</code>".</p>
+ <code><a href="#datatransfer">DataTransfer</a></code> object, labeled as being of the type <var title="">format</var>, <a href="#converted-to-ascii-lowercase">converted to ASCII
+ lowercase</a>. This must replace any previous data that had been
+ set for that format. If <var title="">format</var> (after conversion
+ to lowercase) is the value "<code title="">text</code>", then it
+ must be treated as "<code title="">text/plain</code>". If the <var title="">format</var> (after conversion to lowercase) is "<code title="">url</code>", then it must be treated as "<code title="">text/uri-list</code>".</p>
<p>The <dfn id="dom-datatransfer-getdata" title="dom-DataTransfer-getData"><code>getData(<var title="">format</var>)</code></dfn> method must return the data that
- is associated with the type <var title="">format</var>, if any, and
- must return the empty string otherwise. If <var title="">format</var> is the value "<code title="">Text</code>",
+ is associated with the type <var title="">format</var>
+ <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>, if any, and must return
+ the empty string otherwise. If <var title="">format</var> (after
+ conversion to lowercase) is the value "<code title="">text</code>",
then it must be treated as "<code title="">text/plain</code>". If
- the <var title="">format</var> is "<code title="">URL</code>", then
- the data associated with the "<code title="">text/uri-list</code>"
- format must be parsed as appropriate for <code title="">text/uri-list</code> data, and the first URL from the list
- must be returned. If there is no data with that format, or if there
- is but it has no URLs, then the method must return the empty
- string. <a href="#refsRFC2483">[RFC2483]</a></p>
+ the <var title="">format</var> (after conversion to lowercase) is
+ "<code title="">url</code>", then the data associated with the
+ "<code title="">text/uri-list</code>" format must be parsed as
+ appropriate for <code title="">text/uri-list</code> data, and the
+ first URL from the list must be returned. If there is no data with
+ that format, or if there is but it has no URLs, then the method must
+ return the empty string. <a href="#refsRFC2483">[RFC2483]</a></p>
<p>The <dfn id="dom-datatransfer-files" title="dom-DataTransfer-files"><code>files</code></dfn>
attribute must return the <code>FileList</code> object that contains
@@ -47976,6 +47991,9 @@
object. There is one such object per <code><a href="#datatransfer">DataTransfer</a></code>
object.</p>
+ <p class="note">This version of the API does not expose the types of
+ the files during the drag.</p>
+
<p>The <dfn id="dom-datatransfer-setdragimage" title="dom-DataTransfer-setDragImage"><code>setDragImage(<var title="">element</var>, <var title="">x</var>, <var title="">y</var>)</code></dfn> method sets which element to use <a href="#base-dnd-feedback">to generate the drag feedback</a>. The
<var title="">element</var> argument can be any
<code>Element</code>; if it is an <code><a href="#the-img-element">img</a></code> element, then the
@@ -48650,6 +48668,10 @@
user agents must similarly use platform-specific conventions when
deciding on what drag feedback to use.</p>
+ <p>All the format strings must be <a href="#converted-to-ascii-lowercase">converted to ASCII
+ lowercase</a>. If the platform conventions do not use <a href="#mime-type" title="MIME type">MIME types</a> to label the dragged data, the
+ user agent must map the types to MIME types first.</p>
+
<p>If a drag is started in a document but ends in another
application, then the user agent must instead replace the parts of
the processing model relating to handling the <em>target</em>
Received on Thursday, 4 February 2010 02:29:53 UTC