DescriptionEnsure that hasPendingActivity() is false for stopped media elements
Where stopped means that ActiveDOMObject::stop() has been called.
All the conditions in hasPendingActivity() are now false after stop():
- m_shouldDelayLoadEvent is set to false by userCancelledLoad() ->
setShouldDelayLoadEvent(false).
- m_networkState is either NETWORK_EMPTY or NETWORK_IDLE after
userCancelledLoad().
- couldPlayEnoughData() returns false because m_paused is now set to
true by stop().
- m_seeking is now set to false by stop().
- m_mediaSource is set to null by userCancelledLoad() ->
closeMediaSource().
- m_asyncEventQueue->hasPendingEvents() is false because stop() calls
m_asyncEventQueue->close().
TEST=LayoutTests/media/gc-pending-event-inactive-document.html
This test reliably hits the assert that revealed this problem:
https://codereview.chromium.org/584633004
BUG=400659
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182332
Patch Set 1 #
Messages
Total messages: 7 (2 generated)
|