<html>
    <head>
        <script>
            function pageLoaded() {
                try {
                    window.webkit.messageHandlers.testHandler.postMessage("loaded");
                } catch(e) { }
            }

            function beganPlaying() {
                try {
                    window.webkit.messageHandlers.testHandler.postMessage("played");
                } catch(e) { }
            }

            function play() {
                let video = document.getElementById("video");
                video.playbackRate = 5; // Speeds up the test.
                video.play();
            }
        </script>
    </head>
    <body onload="pageLoaded()">
        <button onclick="play()">Play</button>
        <br />
        <video controls id="video" onplaying="beganPlaying()" src="long-test.mp4"></video>
    </body>
</html>
