<!doctype html>
<title>play() in detached document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/media.js"></script>
<div id="log"></div>
<script>
// Negative test for failure to play in a detached document.
async_test(function(t)
{
  var doc = document.implementation.createHTMLDocument("");
  var v = doc.createElement("video");
  doc.body.appendChild(v);
  v.src = getVideoURI("/media/movie_5");
  v.play();
  v.addEventListener("timeupdate", t.step_func(function() {
    assert_false(v.paused);
    if (v.currentTime > 0) {
      t.done();
    }
  }));
});
</script>
