<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
<html>
<head>
  <title>Test controls on transformed video</title>
  <style type="text/css" media="screen">
    video {
      margin: 50px;
      -webkit-transform: rotate(20deg);
    }
  </style>
</head>
<body>
    <video controls></video>
    <p>Test controls on transformed video.</p>
    <p>This test only runs in DRT!</p>
    <script src=media-file.js></script>
    <script src=video-test.js></script>
    <script src=media-controls.js></script>
    <script>
        testExpected("video.controls", null, '!=');
        waitForEvent('canplaythrough', function () {
            try {
                clickPlayButton(video);
            } catch (exception) {
                failTest(exception.description);
                return;
            }
            testExpected("video.paused", false);
            endTest();
        } );
        video.src = findMediaFile("video", "content/test");
    </script>
</body>
</html>
