Bisected builds all the way down to a seemingly innocuous change: http://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLMediaElement.cpp?rev=85488 Repro'd on Safari/Mac, Chromium/Mac and Chromium/Linux... I'm wagering it affects all ports since it's seems to be MediaPlayer agnostic. What was happening is that a call to m_player->seek(0) triggers an immediate call to HTMLMediaElement::mediaPlayerTimeChanged(), which clears the m_sentEndEvent flag. Without clearing that flag, if someone changes the src inside of an ended event callback, m_sentEndEvent remains true even though the source has changed. Haven't dug into a fix yet but I'm assuming we're not clearing m_sentEndEvent after changing the src.
(In reply to comment #0) > > Haven't dug into a fix yet but I'm assuming we're not clearing m_sentEndEvent after changing the src. Sure enough, it should be cleared in HTMLMediaElement::prepareForLoad where the other internal flags are reset.
Created attachment 94643 [details] Patch
Comment on attachment 94643 [details] Patch Attachment 94643 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/8726769 New failing tests: media/video-ended.html
Created attachment 94654 [details] Archive of layout-test-results from ec2-cr-linux-02 The attached test failures were seen while running run-webkit-tests on the chromium-ews. Bot: ec2-cr-linux-02 Port: Chromium Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Created attachment 94670 [details] Patch
Updated patch to mark test as slow. Sadly the test does take ~6 seconds to run since the bug only repros if you don't seek.
Comment on attachment 94670 [details] Patch Six seconds is too long for a layout test. silence.[wav,mpg,m4a,oga] is only one second long, can you use that instead?
Created attachment 94806 [details] Patch
The commit-queue encountered the following flaky tests while processing attachment 94806 [details]: animations/suspend-resume-animation.html bug 48161 (authors: cmarrin@apple.com and simon.fraser@apple.com) The commit-queue is continuing to process your patch.
Comment on attachment 94806 [details] Patch Clearing flags on attachment: 94806 Committed r87323: <http://trac.webkit.org/changeset/87323>
All reviewed patches have been landed. Closing bug.
Revision r87323 cherry-picked into qtwebkit-2.2 with commit 2c79e55 <http://gitorious.org/webkit/qtwebkit/commit/2c79e55>