WebCore:
Reviewed by Adele.
Fix that 'timeupdate' and 'waiting' events were never dispatched.
Add explicit m_paused attribute instead of trying to derive paused state from
underlying media. Call updatePlayState() to start/stop media playback
when any attribute that affects active playback state changes. This matches
specification text.
Test: http/tests/media/video-play-stall.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::paused):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::checkIfSeekNeeded):
(WebCore::HTMLMediaElement::movieDidEnd):
(WebCore::HTMLMediaElement::updatePlayState):
* html/HTMLMediaElement.h:
LayoutTests:
Reviewed by Adele.
- add HTTP media test for stalling load
- update tests that don't specifically test autoplay feature to not use autoplay
attribute since playback may start before event listeners are registered
* http/tests/media: Added.
* http/tests/media/video-load-and-stall.cgi: Added.
* http/tests/media/video-play-stall-expected.txt: Added.
* http/tests/media/video-play-stall.html: Added.
* media/video-autoplay.html:
* media/video-dom-loopstart.html:
* media/video-end.html:
* media/video-loopcount.html:
* media/video-loopend.html:
* media/video-loopstart.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27758
268f45cc-cd09-0410-ab3c-
d52691b4dbfc