The HTML5 spec used to require a script to call load() after changing the 'src' attribute, but it now says the change should be immediate. From section 4.8.9.2: If a src attribute of a media element is set or changed, the user agent must invoke the media element's media element load algorithm. (Removing the src attribute does not do this, even if there are source elements present.)
Created attachment 53567 [details] proposed patch
<rdar://problem/7879963>
http://trac.webkit.org/changeset/57820
Looks like this broke Tiger? http://build.webkit.org/results/Tiger%20Intel%20Release/r57821%20(10961)/media/video-source-error-diffs.txt
http://trac.webkit.org/changeset/57820 might have broken Leopard Intel Release (Tests)
Actually, looks like this broke all versions of Mac besides Snow Leopard. :(
http://trac.webkit.org/changeset/57830 should fix the regression.
http://trac.webkit.org/changeset/57830 might have broken Windows Debug (Tests) The following changes are on the blame list: http://trac.webkit.org/changeset/57829 http://trac.webkit.org/changeset/57830 http://trac.webkit.org/changeset/57831 http://trac.webkit.org/changeset/57832 http://trac.webkit.org/changeset/57833 http://trac.webkit.org/changeset/57834 http://trac.webkit.org/changeset/57835