| <!DOCTYPE html!><!-- webkit-test-runner [ enableModernMediaControls=false ] --> |
| <html> |
| <body> |
| <audio controls></audio><video controls></video><br> |
| <audio tabindex="0"></audio><video tabindex="0"></video> |
| <div tabindex="0"></div> |
| <div id="console"></div> |
| <script src="../resources/js-test-pre.js"></script> |
| <script> |
| |
| description('Tests for moving the focus onto controls inside an audio element and a video element.'); |
| |
| var mediaElements = document.querySelectorAll("audio,video"); |
| |
| if (window.testRunner) |
| runTests(); |
| else |
| log('This test requires eventSender'); |
| |
| function runTests() |
| { |
| testRunner.overridePreference("WebKitTabToLinksPreferenceKey", 1); |
| |
| shouldBe('document.body.focus(); eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[0]'); |
| shouldBeTrue('mediaElements[0] instanceof HTMLAudioElement'); |
| shouldBeTrue('mediaElements[0].controls'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[0]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[0]).activeElement /* play button */'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[0]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[0]).activeElement /* rewind button */'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[0]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[0]).activeElement /* volume slider */'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[0]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[0]).activeElement /* mute button */'); |
| |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[1]'); |
| shouldBeTrue('mediaElements[1] instanceof HTMLVideoElement'); |
| shouldBeTrue('mediaElements[1].controls'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[1]).activeElement /* play button */'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[1]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[1]).activeElement /* rewind button */'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[1]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[1]).activeElement /* volume slider */'); |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[1]'); |
| shouldBeTrue('!!internals.shadowRoot(mediaElements[1]).activeElement /* mute button */'); |
| |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[2]'); |
| shouldBeTrue('mediaElements[2] instanceof HTMLAudioElement'); |
| shouldBeFalse('mediaElements[2].controls'); |
| |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'mediaElements[3]'); |
| shouldBeTrue('mediaElements[3] instanceof HTMLVideoElement'); |
| shouldBeFalse('mediaElements[3].controls'); |
| |
| shouldBe('eventSender.keyDown("\\t"); document.activeElement', 'document.querySelector("div")'); |
| } |
| |
| </script> |
| <script src="../resources/js-test-post.js"></script> |
| </body> |
| </html> |