Clicking outside the media when the tracks panel is up should dismiss the tracks panel but not the media controls.

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


Media started playing and was paused.

PASS shadowRoot.querySelector('button.tracks') became different from null
PASS shadowRoot.querySelector('button.tracks').getBoundingClientRect().width became different from 0
=> Tracks button is visible.

Pressing on the tracks button.
PASS shadowRoot.querySelector('.tracks-panel') became different from null
=> Tracks panel is visible.

Clicking outside the media to dismiss the tracks panel.
PASS shadowRoot.querySelector('.media-controls').classList.contains('faded') is false
PASS shadowRoot.querySelector('.tracks-panel').classList.contains('fade-out') is true

PASS successfullyParsed is true

TEST COMPLETE

