Bug 113571

Summary: Implement DOMFutures
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: abarth, annevk, buildbot, dglazkov, domenic, ericbidelman, esprehn+autocc, gyuyoung.kim, kenneth, laszlo.gombos, mounir, ojan.autocc, peter, peter+ews, pivisko, rakuco, rego+ews, rniwa, syoichi, webkit.bugzilla, webkit-ews, webkit.review.bot, xan.lopez
Priority: P2 Keywords: WebExposed
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
URL: http://dom.spec.whatwg.org/#futures
Attachments:
Description Flags
WIP Patch
peter+ews: commit-queue-
WIP Patch
none
WIP Patch none

Chris Dumez
Reported 2013-03-29 05:41:18 PDT
DOM 4 is introducing Futures, which offers a nicer way to build asynchronous APIs. Futures provide a convenient way to get access to the result of an operation. More details at: http://dom.spec.whatwg.org/#futures It would be nice to implement them in WebKit.
Attachments
WIP Patch (42.57 KB, patch)
2013-03-29 16:11 PDT, Chris Dumez
peter+ews: commit-queue-
WIP Patch (67.50 KB, patch)
2013-03-30 10:39 PDT, Chris Dumez
no flags
WIP Patch (66.88 KB, patch)
2013-04-01 08:22 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2013-03-29 16:11:13 PDT
Created attachment 195814 [details] WIP Patch
Peter Beverloo (cr-android ews)
Comment 2 2013-03-29 16:28:28 PDT
Comment on attachment 195814 [details] WIP Patch Attachment 195814 [details] did not pass cr-android-ews (chromium-android): Output: http://webkit-commit-queue.appspot.com/results/17255654
Early Warning System Bot
Comment 3 2013-03-29 16:29:17 PDT
WebKit Review Bot
Comment 4 2013-03-29 16:49:36 PDT
Comment on attachment 195814 [details] WIP Patch Attachment 195814 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17257696
Build Bot
Comment 5 2013-03-29 16:56:15 PDT
WebKit Review Bot
Comment 6 2013-03-29 16:58:24 PDT
Comment on attachment 195814 [details] WIP Patch Attachment 195814 [details] did not pass cr-linux-debug-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17356136
Build Bot
Comment 7 2013-03-29 17:15:17 PDT
Build Bot
Comment 8 2013-03-29 17:56:52 PDT
Early Warning System Bot
Comment 9 2013-03-30 02:39:11 PDT
Chris Dumez
Comment 10 2013-03-30 10:39:31 PDT
Created attachment 195860 [details] WIP Patch
Adam Barth
Comment 11 2013-03-30 10:43:57 PDT
I would like to review this patch before it lands.
Chris Dumez
Comment 12 2013-03-30 11:07:43 PDT
(In reply to comment #11) > I would like to review this patch before it lands. Sure. Is it better to send an email to webkit-dev as well to announce that I'm working on this?
Adam Barth
Comment 13 2013-03-30 11:49:23 PDT
> Sure. Is it better to send an email to webkit-dev as well to announce that I'm working on this? That might be worthwhile. I'm more interested in the technical aspects of the patch (e.g., the usage of ScriptValue). It looks like your work is still in progress, so it didn't seem appropriate to review the current patch.
Chris Dumez
Comment 14 2013-03-30 12:54:20 PDT
(In reply to comment #13) > > Sure. Is it better to send an email to webkit-dev as well to announce that I'm working on this? > > That might be worthwhile. I'm more interested in the technical aspects of the patch (e.g., the usage of ScriptValue). It looks like your work is still in progress, so it didn't seem appropriate to review the current patch. This is useful feedback, thanks. Could you please explain the issue with using ScriptValue? Is there a better way to represent the WebIDL "any" type? I see that it is used quite a lot in the IndexedDB code, which I used as reference. I tried compiling the patch for Chromium to see if I was missing something related to V8 but the generic code seems to compile fine as ScriptValue also exists for V8 (although with a different API but it does not matter much for my use).
Adam Barth
Comment 15 2013-03-30 14:16:04 PDT
You almost certainly should not be using ScriptValue. Essentially any time we use ScriptValue, it's a memory leak. I'd have to study this feature in more detail to figure out the best way of implementing it.
Chris Dumez
Comment 16 2013-04-01 08:22:24 PDT
Created attachment 195972 [details] WIP Patch
Chris Dumez
Comment 17 2013-08-01 04:01:17 PDT
Promises should now be implemented, not futures.
Note You need to log in before you can comment on or make changes to this bug.