tor-browser

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

test_cloneElementVisually_resource_change.html (1750B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title>Test cloneElementVisually</title>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <script type="application/javascript" src="https://example.com:443/tests/dom/media/test/cloneElementVisually_helpers.js"></script>
      8  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
      9 </head>
     10 <body>
     11 <div id="content">
     12  <h1>Original</h1>
     13  <video id="original"></video>
     14  <h1>MediaStream</h1>
     15  <video id="streamTarget"></video>
     16  <h1>Clone</h1>
     17 </div>
     18 <div id="results">
     19  <h1>Results</h1>
     20  <canvas id="left"></canvas>
     21  <canvas id="right"></canvas>
     22 </div>
     23 
     24 <script type="application/javascript">
     25 
     26 /* import-globals-from cloneElementVisually_helpers.js */
     27 
     28 /**
     29 * Tests that cloning survives changes to the underlying video resource.
     30 */
     31 add_task(async () => {
     32  await setup();
     33 
     34  let originalVideo = document.getElementById("original");
     35  originalVideo.setAttribute("loop", true);
     36  await originalVideo.play();
     37 
     38  await withNewClone(originalVideo, async clone => {
     39    SpecialPowers.wrap(originalVideo).cloneElementVisually(clone);
     40 
     41    await waitForEventOnce(originalVideo, "timeupdate");
     42 
     43    originalVideo.pause();
     44    await waitForEventOnce(originalVideo, "pause");
     45 
     46    ok(await assertVideosMatch(originalVideo, clone),
     47       "Initial video should match.");
     48 
     49    await setVideoSrc(originalVideo, TEST_VIDEO_2);
     50 
     51    await originalVideo.play();
     52    await waitForEventOnce(originalVideo, "timeupdate");
     53 
     54    originalVideo.pause();
     55    await waitForEventOnce(originalVideo, "pause");
     56 
     57    ok(await assertVideosMatch(originalVideo, clone),
     58       "New video should match.");
     59  });
     60 
     61  await setVideoSrc(originalVideo, TEST_VIDEO_1);
     62 });
     63 
     64 </script>
     65 
     66 </body>
     67 </html>