This tests that the video element's "controls" attribute is overridden in full screen mode, and that the controls are correctly hidden upon exiting full screen. Press any key to continue.

EVENT(webkitfullscreenchange)
EXPECTED (shadowRoot = internals.shadowRoot(video) != 'null') OK
EXPECTED (panel = mediaControlsElement(shadowRoot.firstChild, '-webkit-media-controls-panel') != 'null') OK
EXPECTED (internals.shadowPseudoId(panel) == '-webkit-media-controls-panel') OK
EXPECTED (document.defaultView.getComputedStyle(panel)['display'] != 'none') OK
EXPECTED (document.defaultView.getComputedStyle(panel)['height'] >= '20px') OK
EVENT(webkitfullscreenchange)
EXPECTED (document.defaultView.getComputedStyle(panel)['display'] == 'none') OK
END OF TEST

