Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Issue 16838012: [ABANDONED] Implement Promises. (Closed)

Created:
7 years, 6 months ago by yhirano
Modified:
7 years, 6 months ago
CC:
blink-reviews, jsbell+bindings_chromium.org, eae+blinkwatch, marja+watch_chromium.org, dglazkov+blink, adamk+blink_chromium.org, haraken, Nate Chapin
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Implement Promises. Promises provides a clean API to handle async operations. Promises is being specified in WHATWG[1]. We implment this feature by JavaScript, Source/core/dom/Promise.js and Source/core/dom/PromiseResolver.js. This CL doesn't include PromiseResolveHolder wrapper class, which enables C++ classes to handle a PromiseResolver. [1] http://dom.spec.whatwg.org/#promises BUG=243345 R=abarth

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 9

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2018 lines, -92 lines) Patch
A LayoutTests/fast/js/Promise-already-resolved.html View 1 chunk +35 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-already-resolved-expected.txt View 1 1 chunk +1 line, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-catch.html View 1 2 3 4 1 chunk +46 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-catch-expected.txt View 1 2 3 4 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-chain.html View 1 chunk +68 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-chain-expected.txt View 1 chunk +19 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-exception.html View 1 chunk +40 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-exception-expected.txt View 1 chunk +3 lines, -3 lines 0 comments Download
A LayoutTests/fast/js/Promise-fulfill.html View 1 chunk +60 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-fulfill-expected.txt View 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-init-throws.html View 1 chunk +43 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-init-throws-expected.txt View 1 chunk +3 lines, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-reject.html View 1 chunk +60 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-reject-expected.txt View 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-resolve.html View 1 chunk +31 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-resolve-expected.txt View 1 chunk +3 lines, -3 lines 0 comments Download
A LayoutTests/fast/js/Promise-resolve-with-then-exception.html View 1 chunk +34 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-resolve-with-then-exception-expected.txt View 1 chunk +4 lines, -3 lines 0 comments Download
A LayoutTests/fast/js/Promise-resolve-with-then-fulfill.html View 1 chunk +40 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-resolve-with-then-fulfill-expected.txt View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-resolve-with-then-reject.html View 1 chunk +40 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-resolve-with-then-reject-expected.txt View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-simple.html View 1 chunk +39 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-simple-expected.txt View 1 chunk +4 lines, -4 lines 0 comments Download
A LayoutTests/fast/js/Promise-simple-fulfill-async.html View 1 chunk +31 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-simple-fulfill-async-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-simple-fulfill-inside-callback.html View 1 chunk +28 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-simple-fulfill-inside-callback-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-any.html View 1 chunk +60 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-any-expected.txt View 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-every.html View 1 chunk +62 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-every-expected.txt View 1 chunk +18 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-fulfill.html View 1 chunk +26 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-static-fulfill-expected.txt View 1 chunk +3 lines, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-reject.html View 1 chunk +38 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-static-reject-expected.txt View 1 chunk +3 lines, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-resolve.html View 1 chunk +24 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-static-resolve-expected.txt View 1 chunk +3 lines, -2 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-some.html View 1 chunk +63 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-static-some-expected.txt View 1 chunk +18 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-then.html View 1 chunk +41 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-then-expected.txt View 1 chunk +14 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-then-rejected.html View 1 2 3 4 1 chunk +48 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-then-rejected-expected.txt View 1 2 3 4 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/js/Promise-then-without-callbacks.html View 1 chunk +26 lines, -0 lines 0 comments Download
A + LayoutTests/fast/js/Promise-then-without-callbacks-expected.txt View 1 1 chunk +2 lines, -3 lines 0 comments Download
M Source/bindings/bindings.gypi View 1 2 chunks +4 lines, -0 lines 0 comments Download
M Source/bindings/v8/V8HiddenPropertyName.h View 1 chunk +2 lines, -0 lines 0 comments Download
A + Source/bindings/v8/V8PromiseUtilities.h View 1 chunk +15 lines, -13 lines 0 comments Download
A Source/bindings/v8/V8PromiseUtilities.cpp View 1 chunk +216 lines, -0 lines 0 comments Download
A Source/bindings/v8/custom/V8PromiseCustom.cpp View 1 chunk +130 lines, -0 lines 0 comments Download
A + Source/bindings/v8/custom/V8PromiseResolverCustom.cpp View 1 chunk +11 lines, -22 lines 0 comments Download
M Source/core/core.gypi View 1 2 chunks +4 lines, -0 lines 0 comments Download
M Source/core/core_derived_sources.gyp View 1 chunk +36 lines, -0 lines 0 comments Download
A + Source/core/dom/Promise.h View 1 chunk +9 lines, -8 lines 0 comments Download
A + Source/core/dom/Promise.idl View 1 1 chunk +12 lines, -7 lines 0 comments Download
A Source/core/dom/Promise.js View 1 2 3 1 chunk +253 lines, -0 lines 0 comments Download
A + Source/core/dom/PromiseResolver.h View 1 chunk +8 lines, -8 lines 0 comments Download
A + Source/core/dom/PromiseResolver.idl View 1 1 chunk +5 lines, -4 lines 0 comments Download
A Source/core/dom/PromiseResolver.js View 1 2 1 chunk +126 lines, -0 lines 0 comments Download
M Source/core/page/RuntimeEnabledFeatures.in View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
yhirano
abarth@, can you take a look at this CL? FYI: haraken@, tyoshino@
7 years, 6 months ago (2013-06-14 02:46:47 UTC) #1
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/16838012/diff/15001/LayoutTests/fast/js/Promise-catch.html File LayoutTests/fast/js/Promise-catch.html (right): https://codereview.chromium.org/16838012/diff/15001/LayoutTests/fast/js/Promise-catch.html#newcode59 LayoutTests/fast/js/Promise-catch.html:59: </html> Remove L49-59?
7 years, 6 months ago (2013-06-14 04:57:53 UTC) #2
abarth-chromium
This CL is too big to review well. Can we break it up into smaller ...
7 years, 6 months ago (2013-06-14 05:07:08 UTC) #3
abarth-chromium
Maybe a good first step is to have a Promise object with one function on ...
7 years, 6 months ago (2013-06-14 05:11:08 UTC) #4
yhirano
https://codereview.chromium.org/16838012/diff/15001/LayoutTests/fast/js/Promise-catch.html File LayoutTests/fast/js/Promise-catch.html (right): https://codereview.chromium.org/16838012/diff/15001/LayoutTests/fast/js/Promise-catch.html#newcode59 LayoutTests/fast/js/Promise-catch.html:59: </html> On 2013/06/14 04:57:53, tyoshino wrote: > Remove L49-59? ...
7 years, 6 months ago (2013-06-14 05:43:00 UTC) #5
yhirano
On 2013/06/14 05:11:08, abarth wrote: > Maybe a good first step is to have a ...
7 years, 6 months ago (2013-06-14 05:47:26 UTC) #6
abarth-chromium
On 2013/06/14 05:47:26, yhirano wrote: > Does it make sense? It's hard for me to ...
7 years, 6 months ago (2013-06-14 05:52:10 UTC) #7
marja
7 years, 6 months ago (2013-06-14 07:32:04 UTC) #8
Please also make sure that your patch builds if you remove "#define
V8_USE_UNSAFE_HANDLES" from src/v8/include/v8.h.

Powered by Google App Engine
This is Rietveld 408576698