content/media/test/test_closing_connections.html
author JW Wang <jwwang@mozilla.com>
Thu, 25 Sep 2014 19:44:00 +0200
changeset 231939 63cbbdbc8e768b66e0ad89271cdbe41c9f057c44
parent 216649 b0cc3073ef81579b8e9f36be0d82d9ca96fdae0b
permissions -rw-r--r--
Bug 1018125 - remove SpecialPowers.pushPrefEnv() which delays loading media resources and breaks the purpose of this test. r=kinetik

hg diff<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=479863
-->
<head>
  <title>Test for Bug 479863 --- loading many connections</title>
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  <script type="application/javascript" src="use_large_cache.js"></script>
  <script type="text/javascript" src="manifest.js"></script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=479863">Mozilla Bug 479863</a>
<p id="display"></p>
<div id="content" style="display: none">
  
</div>

<script type="application/javascript">
window.onload = function() {
  ok(true, "loaded metadata for all videos");
  mediaTestCleanup();
  SimpleTest.finish();
}

/*   With normal per-domain connection limits and a naive implementation, we
     won't ever be able to load all these videos because the first 15 (or whatever)
     will each take up one HTTP connection (which will be suspended) and then
     the others will be blocked by the per-domain HTTP connection limit. We
     pass this test by closing the connection for non-buffered videos after
     we've got the first frame.
*/

var resource = getPlayableVideo(gSeekTests);

SimpleTest.waitForExplicitFinish();
function beginTest() {
  if (resource != null) {
    for (var i=0; i<20; ++i) {
      var v = document.createElement("video");
      v.src = resource.name;
      v.preload = "metadata";
      document.body.appendChild(v);
    }
  } else {
    todo(false, "No types supported");
  }
}
beginTest();
</script>

<pre id="test">
<script type="application/javascript">
</script>
</pre>
</body>
</html>