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

Issue 1381693002: Don't report promise rejection events during the microtask checkpoint (Closed)

Created:
5 years, 2 months ago by jochen (gone - plz use gerrit)
Modified:
5 years, 2 months ago
Reviewers:
haraken, hiroshige, sof, domenic
CC:
blink-reviews, blink-reviews-bindings_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't report promise rejection events during the microtask checkpoint instead post them to the message loop. BUG=495801 Committed: https://crrev.com/31bc5867e1112af8b82d780b47fcb3a6f337a8a0 Cr-Commit-Position: refs/heads/master@{#352251}

Patch Set 1 #

Total comments: 2

Patch Set 2 : updates #

Patch Set 3 : updates #

Patch Set 4 : layout tests #

Total comments: 3

Patch Set 5 : updates #

Patch Set 6 : updates #

Total comments: 1

Messages

Total messages: 28 (6 generated)
jochen (gone - plz use gerrit)
https://codereview.chromium.org/1381693002/diff/1/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp (right): https://codereview.chromium.org/1381693002/diff/1/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp#newcode231 third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp:231: Platform::current()->currentThread()->taskRunner()->postTask(FROM_HERE, new Task(bind(&RejectedPromises::processQueueNow, this, queue))); hiroshige@ this line doesn't ...
5 years, 2 months ago (2015-09-30 14:31:42 UTC) #2
hiroshige
https://codereview.chromium.org/1381693002/diff/1/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp (right): https://codereview.chromium.org/1381693002/diff/1/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp#newcode231 third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp:231: Platform::current()->currentThread()->taskRunner()->postTask(FROM_HERE, new Task(bind(&RejectedPromises::processQueueNow, this, queue))); On 2015/09/30 14:31:42, jochen ...
5 years, 2 months ago (2015-10-01 03:59:25 UTC) #3
haraken
On 2015/10/01 03:59:25, hiroshige wrote: > https://codereview.chromium.org/1381693002/diff/1/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp > File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp (right): > > https://codereview.chromium.org/1381693002/diff/1/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp#newcode231 > ...
5 years, 2 months ago (2015-10-01 04:09:16 UTC) #4
jochen (gone - plz use gerrit)
the types are all subtly different (OwnPtr vs PassOwnPtr for example), so I just wrote ...
5 years, 2 months ago (2015-10-01 09:48:54 UTC) #5
jochen (gone - plz use gerrit)
ptal Domenic, overall Kentaro, bindings/ https://codereview.chromium.org/1381693002/diff/60001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp (left): https://codereview.chromium.org/1381693002/diff/60001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp#oldcode62 third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp:62: ASSERT(!v8::Local<v8::Promise>::Cast(value)->HasHandler()); that's no longer ...
5 years, 2 months ago (2015-10-02 07:57:24 UTC) #6
haraken
https://codereview.chromium.org/1381693002/diff/60001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h (right): https://codereview.chromium.org/1381693002/diff/60001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h#newcode19 third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h:19: class RejectedPromises final : public RefCountedWillBeGarbageCollected<RejectedPromises> { Why do ...
5 years, 2 months ago (2015-10-02 07:59:47 UTC) #7
jochen (gone - plz use gerrit)
https://codereview.chromium.org/1381693002/diff/60001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h (right): https://codereview.chromium.org/1381693002/diff/60001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h#newcode19 third_party/WebKit/Source/bindings/core/v8/RejectedPromises.h:19: class RejectedPromises final : public RefCountedWillBeGarbageCollected<RejectedPromises> { On 2015/10/02 ...
5 years, 2 months ago (2015-10-02 08:02:04 UTC) #8
haraken
LGTM on my side. But keep in mind that the current implementation of m_promise is ...
5 years, 2 months ago (2015-10-02 09:19:42 UTC) #9
jochen (gone - plz use gerrit)
On 2015/10/02 at 09:19:42, haraken wrote: > LGTM on my side. > > But keep ...
5 years, 2 months ago (2015-10-02 09:58:31 UTC) #10
haraken
On 2015/10/02 09:58:31, jochen wrote: > On 2015/10/02 at 09:19:42, haraken wrote: > > LGTM ...
5 years, 2 months ago (2015-10-02 10:03:25 UTC) #11
hiroshige
lgtm (for the bind() issue).
5 years, 2 months ago (2015-10-02 10:25:29 UTC) #12
jochen (gone - plz use gerrit)
On 2015/10/02 at 10:03:25, haraken wrote: > On 2015/10/02 09:58:31, jochen wrote: > > On ...
5 years, 2 months ago (2015-10-02 10:36:23 UTC) #13
jochen (gone - plz use gerrit)
updated to reflect spec changes
5 years, 2 months ago (2015-10-02 12:33:00 UTC) #14
domenic
On 2015/10/02 at 12:33:00, jochen wrote: > updated to reflect spec changes lgtm. https://github.com/domenic/unhandled-rejections-browser-spec is ...
5 years, 2 months ago (2015-10-02 20:11:47 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1381693002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1381693002/100001
5 years, 2 months ago (2015-10-02 20:15:32 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/115882)
5 years, 2 months ago (2015-10-02 22:39:31 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1381693002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1381693002/100001
5 years, 2 months ago (2015-10-03 06:03:15 UTC) #22
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 2 months ago (2015-10-03 08:59:13 UTC) #23
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/31bc5867e1112af8b82d780b47fcb3a6f337a8a0 Cr-Commit-Position: refs/heads/master@{#352251}
5 years, 2 months ago (2015-10-03 09:00:09 UTC) #24
sof
Introduced some leaks, http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Leak/builds/14630
5 years, 2 months ago (2015-10-04 15:48:16 UTC) #26
sof
https://codereview.chromium.org/1381693002/diff/100001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp File third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp (right): https://codereview.chromium.org/1381693002/diff/100001/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp#newcode245 third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp:245: Platform::current()->currentThread()->scheduler()->timerTaskRunner()->postTask(FROM_HERE, new Task(bind(&RejectedPromises::processQueueNow, this, queue.release()))); To have the closure ...
5 years, 2 months ago (2015-10-04 20:06:22 UTC) #27
yosin_UTC9
5 years, 2 months ago (2015-10-05 04:06:18 UTC) #28
Message was sent while issue was closed.
A revert of this CL (patchset #6 id:100001) has been created in
https://codereview.chromium.org/1384913002/ by yosin@chromium.org.

The reason for reverting is: Causes leaks in following tests:
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Leak/b...


fast/dom/promise-rejection-events-isolated-worlds.html
web-animations-api/player-ready-promise.html
http/tests/fetch/window/fetch.html
inspector/sources/debugger-pause/debugger-pause-on-promise-rejection.html
inspector-enabled/console/console-uncaught-promise-no-inspector.html
http/tests/serviceworker/fetch-request-resources.html
inspector/console/console-revoke-error.html
inspector/console/console-uncaught-promise.html
fast/dom/promise-rejection-events-attached-in-event.html
inspector/sources/debugger/debugger-uncaught-promise-on-pause.html
imported/web-platform-tests/screen-orientation/lock-bad-argument.html
web-animations-api/player-finished-promise.html
http/tests/dom/promise-rejection-events.html
fast/css/fontfaceset-add-remove-while-loading.html.

Powered by Google App Engine
This is Rietveld 408576698