<html>
    <head>
        <script src="media-controls.js"></script>
        <script>
            if (window.testRunner)
                testRunner.waitUntilDone();

            function test()
            {
                if (window.testRunner)
                    testRunner.notifyDone();
            }
        </script>
    </head>
    <body onload="setTimeout(test, 250)">
        <p>Slider drawing with no source. The controls should render correctly.</p>
        <video src="" controls style="border:1px solid black"></video>
    </body>
    <script>
      const video = document.querySelector('video');
      enableTestMode(video);
    </script>
</html>
