Chromium Code Reviews
DescriptionChange back to destroy the CDM synchronously
Outstanding promises may get rejected due to blink garbage collection
destroying all the remaining EME objects when they are no longer
referenced. The original fix destroyed the CDM asynchronously.
However, that causes problems as the CDM may hold references to
objects owned by RenderFrameImpl, and they may get accessed after
~RenderFrameImpl.
This fix posts a task to reject the promise asynchronously. That way
any outstanding promises that need to be rejected are handled after
gc is done. It affects all EME promise rejections (from Chromium).
Resolving promises is still done synchronously as there may be events
already posted that need to happen only after the promise is resolved.
BUG=597355
TEST=existing EME tests still pass
Review-Url: https://codereview.chromium.org/1987883002
Cr-Commit-Position: refs/heads/master@{#398986}
(cherry picked from commit 3135b5eec1c39fb213cbf906f81553efa8cbaf67)
Committed: https://chromium.googlesource.com/chromium/src/+/4f09e0e74ee9520929b78c7234679d78ca635c64
Patch Set 1 #
Messages
Total messages: 2 (1 generated)
|
|||||||||||||||||||||||||||||||||||||