tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_reactivate.html (1673B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test reactivation of a media element from a dead document</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7  <script type="text/javascript" src="manifest.js"></script>
      8 </head>
      9 <body>
     10 
     11 <iframe id="frame" src="reactivate_helper.html"></iframe>
     12 
     13 <pre id="test">
     14 <script class="testbody" type="text/javascript">
     15 
     16 var elements;
     17 
     18 function playElement(e) {
     19  // All elements played out, finish the test case.
     20  if (!e) {
     21    SimpleTest.finish();
     22    return;
     23  }
     24 
     25  e.play();
     26  info("Element play: " + e._name);
     27  var reviveElement = function() {
     28    document.body.appendChild(e);
     29    e.onended = function() {
     30      info("Element ended: " + e._name);
     31      removeNodeAndSource(e);
     32      // Play next element.
     33      playElement(elements.pop());
     34    }
     35  }
     36  setTimeout(reviveElement, 2000);
     37 }
     38 
     39 function loadedAll(elementList) {
     40  elements = elementList;
     41 
     42  // Log events for debugging.
     43  var events = ["suspend", "play", "canplay", "canplaythrough", "loadstart", "loadedmetadata",
     44                "loadeddata", "playing", "ended", "error", "stalled", "emptied", "abort",
     45                "waiting", "pause"];
     46  function logEvent(e) {
     47    info(e.target._name + ": got " + e.type);
     48  }
     49  elementList.forEach(function(element) {
     50    events.forEach(function(evt) {
     51      element.addEventListener(evt, logEvent);
     52    });
     53  });
     54 
     55  // Blow away the subframe
     56  document.body.removeChild(document.getElementById("frame"));
     57 
     58  // Play elements one by one to avoid hitting bug 847903 on MacOSX.
     59  playElement(elements.pop());
     60 }
     61 </script>
     62 </pre>
     63 </body>
     64 </html>