On Sep 3, 2009, at 6:05 PM, Francisco Tolmasky wrote:
However, I think the addition of the deferred setData methods could
be added today in a way that is completely backwards compatible with
current implementations and would still be of great benefit.
Specifically, my request for deferring the calling of toString on
non-string objects as such:
event.dataTransfer.setData("something", { toString: function()
{ return expensiveFunctionCall(); } });
This would allow me to submit patches to Firefox and WebKit that
would solve the current performance issues which are literally
blocking my ability to switch from "fake" drag and drop to "native"
drag and drop. At the same time, this should still work today in all
browsers that implement setData because the object is coerced into a
string immediately for you, thus not requiring immediate action on
their part to change anything.
+1. A real drag-n-drop API has to support promised data.
—Jens