| Index: LayoutTests/http/tests/media/media-source/mediasource-htmlmediaelement-lifetime.html | 
| diff --git a/LayoutTests/http/tests/media/media-source/mediasource-htmlmediaelement-lifetime.html b/LayoutTests/http/tests/media/media-source/mediasource-htmlmediaelement-lifetime.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..7e1b1a2f5d7d783c73b6c0f5d891ddf5dc3e74fd | 
| --- /dev/null | 
| +++ b/LayoutTests/http/tests/media/media-source/mediasource-htmlmediaelement-lifetime.html | 
| @@ -0,0 +1,48 @@ | 
| +<!DOCTYPE html> | 
| +<html> | 
| +    <head> | 
| +      <script src="/js-test-resources/js-test.js"></script> | 
| +      <script src="/media-resources/video-test.js"></script> | 
| +      <script src="/w3c/resources/testharness.js"></script> | 
| +      <script src="/w3c/resources/testharnessreport.js"></script> | 
| +      <script src="mediasource-util.js"></script> | 
| +    </head> | 
| +    <body> | 
| +      <div id="log"></div> | 
| +      <script> | 
| +          window.jsTestIsAsync = true; | 
| + | 
| +          async_test(function(test) | 
| +          { | 
| +              var video = document.createElement("video"); | 
| +              var ms = new MediaSource(); | 
| + | 
| +              function sourceOpened() | 
| +              { | 
| +                  consoleWrite("sourceOpened called."); | 
| +                  var buffer = ms.addSourceBuffer('video/webm; codecs="vorbis,vp8"'); | 
| + | 
| +                  consoleWrite("Running the garbage collector."); | 
| +                  video = null; | 
| +                  asyncGC(test.step_func(function() | 
| +                  { | 
| +                      assert_equals(ms.readyState, "open", "MediaSource object is open."); | 
| + | 
| +                      consoleWrite("Setting MediaSource duration."); | 
| +                      ms.duration = 100; | 
| +                  })); | 
| +              } | 
| + | 
| +              function durationChanged() | 
| +              { | 
| +                  consoleWrite("durationChanged called."); | 
| +                  test.done(); | 
| +              } | 
| + | 
| +              ms.addEventListener("sourceopen", test.step_func(sourceOpened)); | 
| +              video.addEventListener("durationchange", test.step_func(durationChanged)); | 
| +              video.src = window.URL.createObjectURL(ms); | 
| +          }, "Tests that the MediaSource keeps the HTMLMediaElement alive."); | 
| +      </script> | 
| +    </body> | 
| +</html> | 
|  |