The resolver function of PresentationRequest.getAvailability() is not called after GC. |
||
Issue descriptionAccording to the issue 517398 , currently the ScriptPromiseProperty doesn't holds the strong resolver references. So the resolver function could be GCed while waiting for the response from the server. The holder of the ScriptPromiseProperty must be kept alive until the promise is resolved. There is a tests for this bug https://codereview.chromium.org/2919233002/. I found this bug while inspecting the issue 728013 . I think PresentationRequest must implement ScriptWrappable::HasPendingActivity() like https://codereview.chromium.org/2922863002.
,
Jun 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/efb66282aa23c95d6ffc70714ebac01e48f1b07e commit efb66282aa23c95d6ffc70714ebac01e48f1b07e Author: Mounir Lamouri <mlamouri@chromium.org> Date: Wed Jun 07 09:15:12 2017 Present PresentationRequest from being GC'd while getAvailability() is pending. Bug: 729903 Change-Id: I124db0484fdd3c2122396a7aae25927c9421f1fe Reviewed-on: https://chromium-review.googlesource.com/525555 Reviewed-by: Tsuyoshi Horo <horo@chromium.org> Commit-Queue: Mounir Lamouri <mlamouri@chromium.org> Cr-Commit-Position: refs/heads/master@{#477589} [add] https://crrev.com/efb66282aa23c95d6ffc70714ebac01e48f1b07e/third_party/WebKit/LayoutTests/presentation/presentationrequest-gc.html [modify] https://crrev.com/efb66282aa23c95d6ffc70714ebac01e48f1b07e/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp
,
Jun 7 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by mlamouri@chromium.org
, Jun 6 2017