Testing ltr is set correctly when entering fullscreen.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS media.webkitDisplayingFullscreen became true
Media entered fullscreen
PASS mediaControlsElement.classList.contains('uses-ltr-user-interface-layout-direction') is true
PASS document.defaultView.getComputedStyle(volumeSliderElement).transform is "none"

Setting layout direction to RTL
PASS mediaControlsElement.classList.contains('uses-ltr-user-interface-layout-direction') is false
PASS document.defaultView.getComputedStyle(volumeSliderElement).transform is "matrix(-1, 0, 0, 1, 0, 0)"

Setting layout direction back to LTR
PASS mediaControlsElement.classList.contains('uses-ltr-user-interface-layout-direction') is true
PASS document.defaultView.getComputedStyle(volumeSliderElement).transform is "none"

PASS successfullyParsed is true

TEST COMPLETE

