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

Issue 243703007: Enable V8 Promises. (Closed)

Created:
6 years, 8 months ago by yhirano
Modified:
6 years, 8 months ago
CC:
blink-reviews, Nils Barth (inactive), arv+blink, jsbell+bindings_chromium.org, sof, kouhei+bindings_chromium.org, abarth-chromium, marja+watch_chromium.org, adamk+blink_chromium.org, haraken, Nate Chapin, Inactive, hirono
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Enable V8 Promises. Enable V8 Promises. This CL sets --harmony-promises flag for the V8 implementation. Because V8 Promises depend on weak collections, this CL also introduces WeakMap and WeakSet. This CL makes ScriptPromise and ScriptPromiseResolver use V8 Promises instead of Blink Promises. Now ScriptPromiseResolverWithContext runs V8 tasks manually when resolve or reject was called from a non script execution environment. BUG=352597, 352552 R=jochen@chromium.org, adamk@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=172299 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=172542

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 2

Patch Set 4 : #

Patch Set 5 : rebase #

Patch Set 6 : Remove v8::Isolate::InContext branch #

Total comments: 2

Patch Set 7 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+108 lines, -27 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/canvas/canvas-createImageBitmap-immutable.html View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/fast/js/Promise-native-then-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/webfont/fontfaceset-status-attribute.html View 1 chunk +0 lines, -1 line 0 comments Download
M LayoutTests/http/tests/webfont/fontfaceset-status-attribute-expected.txt View 1 chunk +0 lines, -1 line 0 comments Download
M LayoutTests/push_messaging/push-messaging.html View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/push_messaging/push-messaging-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/virtual/stable/webexposed/global-constructors-listing-dedicated-worker-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/virtual/stable/webexposed/global-constructors-listing-expected.txt View 1 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/virtual/stable/webexposed/global-constructors-listing-shared-worker-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-constructors-listing-dedicated-worker-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-constructors-listing-expected.txt View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-constructors-listing-shared-worker-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/bindings/v8/ScriptPromiseResolverWithContext.h View 1 2 3 4 5 6 2 chunks +25 lines, -15 lines 0 comments Download
M Source/bindings/v8/ScriptPromiseResolverWithContext.cpp View 1 2 3 4 5 2 chunks +56 lines, -5 lines 0 comments Download
M Source/bindings/v8/ScriptPromiseTest.cpp View 3 chunks +5 lines, -0 lines 0 comments Download
M Source/bindings/v8/V8Initializer.cpp View 1 chunk +3 lines, -0 lines 0 comments Download
M Source/platform/RuntimeEnabledFeatures.in View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 25 (0 generated)
jochen (gone - plz use gerrit)
lgtm with comment https://codereview.chromium.org/243703007/diff/40001/Source/bindings/v8/ScriptPromiseResolverWithContext.h File Source/bindings/v8/ScriptPromiseResolverWithContext.h (right): https://codereview.chromium.org/243703007/diff/40001/Source/bindings/v8/ScriptPromiseResolverWithContext.h#newcode78 Source/bindings/v8/ScriptPromiseResolverWithContext.h:78: class RetainThis; we'd usually just ref() ...
6 years, 8 months ago (2014-04-22 06:49:41 UTC) #1
yhirano
Thanks, Jochen. I've created this new CL as suggested by Adam in the old CL[1]. ...
6 years, 8 months ago (2014-04-22 07:49:05 UTC) #2
adamk
lgtm
6 years, 8 months ago (2014-04-22 18:09:22 UTC) #3
yhirano
The CQ bit was checked by yhirano@chromium.org
6 years, 8 months ago (2014-04-22 23:15:11 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/yhirano@chromium.org/243703007/60001
6 years, 8 months ago (2014-04-22 23:15:29 UTC) #5
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-22 23:49:41 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.blink on mac_blink_rel
6 years, 8 months ago (2014-04-22 23:49:42 UTC) #7
yhirano
The CQ bit was checked by yhirano@chromium.org
6 years, 8 months ago (2014-04-23 00:01:42 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/yhirano@chromium.org/243703007/60001
6 years, 8 months ago (2014-04-23 00:02:06 UTC) #9
commit-bot: I haz the power
Change committed as 172299
6 years, 8 months ago (2014-04-23 00:33:12 UTC) #10
yhirano
Reverted due to the FileManagerBrowserTest breakage. +hirono@chromium.org
6 years, 8 months ago (2014-04-23 05:40:34 UTC) #11
yhirano
Hirono-san (not Hirano :) ) is looking into the breakage. Thanks! By the way, I ...
6 years, 8 months ago (2014-04-23 06:58:02 UTC) #12
jochen (gone - plz use gerrit)
fine by me lgtm
6 years, 8 months ago (2014-04-23 07:07:46 UTC) #13
adamk
On 2014/04/23 06:58:02, yhirano wrote: > Hirono-san (not Hirano :) ) is looking into the ...
6 years, 8 months ago (2014-04-23 18:07:01 UTC) #14
yhirano
> > The benefit is, we can ease the restriction that forbids the developers to ...
6 years, 8 months ago (2014-04-24 01:22:17 UTC) #15
adamk
On 2014/04/24 01:22:17, yhirano wrote: > > > The benefit is, we can ease the ...
6 years, 8 months ago (2014-04-24 17:33:58 UTC) #16
adamk
https://codereview.chromium.org/243703007/diff/120001/Source/bindings/v8/ScriptPromiseResolverWithContext.h File Source/bindings/v8/ScriptPromiseResolverWithContext.h (right): https://codereview.chromium.org/243703007/diff/120001/Source/bindings/v8/ScriptPromiseResolverWithContext.h#newcode31 Source/bindings/v8/ScriptPromiseResolverWithContext.h:31: // If you use ScriptPromiseResolverWithContext::resolve or reject from a ...
6 years, 8 months ago (2014-04-24 17:34:16 UTC) #17
yhirano
https://codereview.chromium.org/243703007/diff/120001/Source/bindings/v8/ScriptPromiseResolverWithContext.h File Source/bindings/v8/ScriptPromiseResolverWithContext.h (right): https://codereview.chromium.org/243703007/diff/120001/Source/bindings/v8/ScriptPromiseResolverWithContext.h#newcode31 Source/bindings/v8/ScriptPromiseResolverWithContext.h:31: // If you use ScriptPromiseResolverWithContext::resolve or reject from a ...
6 years, 8 months ago (2014-04-24 21:20:01 UTC) #18
yhirano
The CQ bit was checked by yhirano@chromium.org
6 years, 8 months ago (2014-04-24 21:20:09 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/yhirano@chromium.org/243703007/140001
6 years, 8 months ago (2014-04-24 21:20:35 UTC) #20
commit-bot: I haz the power
Change committed as 172542
6 years, 8 months ago (2014-04-24 22:57:49 UTC) #21
kouhei (in TOK)
Looks like all LayoutTests using Promises are leaking after this patch. Investigating.
6 years, 8 months ago (2014-04-25 04:28:53 UTC) #22
yhirano
Thanks. Do fast/js/Promise-native-* tests leak as well?
6 years, 8 months ago (2014-04-25 04:54:35 UTC) #23
kouhei (in TOK)
On 2014/04/25 04:54:35, yhirano wrote: > Thanks. > Do fast/js/Promise-native-* tests leak as well? fast/js/Promise-native-resolve.html ...
6 years, 8 months ago (2014-04-25 05:20:40 UTC) #24
kouhei (in TOK)
6 years, 8 months ago (2014-04-25 05:52:29 UTC) #25
Message was sent while issue was closed.
FYI: minimal repro case is:
<script>
internals.createResolvedPromise(null);
</script>

Powered by Google App Engine
This is Rietveld 408576698