<!DOCTYPE HTML><html><head><title>Test: cloned media element should continue to play to the end even after the source of the original element is cleared</title><scriptsrc="/tests/SimpleTest/SimpleTest.js"></script><linkrel="stylesheet"type="text/css"href="/tests/SimpleTest/test.css"/><scripttype="text/javascript"src="manifest.js"></script></head><body><preid="test"><scriptclass="testbody"type="text/javascript">// tests must run in sequence otherwise concurrent running test will also// update media cache which will hide the fact media cache not updated// after changes in media cache streams.PARALLEL_TESTS=1;functionstartTest(test,token){manager.started(token);info("Trying to load "+token);varv=document.createElement('video');v.preload="metadata";v.token=token;v.src=test.name;v.onloadedmetadata=function(evt){info(evt.target.token+" metadata loaded.");evt.target.onloadedmetadata=null;varclone=evt.target.cloneNode(false);clone.token=evt.target.token;clone.play();clone.onloadstart=function(event){info("cloned "+event.target.token+" start loading.");event.target.onloadstart=null;removeNodeAndSource(v);}clone.onended=function(event){ok(true,"cloned "+event.target.token+" ended.");event.target.onended=null;removeNodeAndSource(event.target);manager.finished(event.target.token);}}}varmanager=newMediaTestManager;manager.runTests(gSmallTests.concat(gPlayedTests),startTest);</script></pre></body></html>