Testing that entering fullscreen, then going into picture-in-picture and then going back to inline presents inline controls.

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



Media started playing, we pause it and enter fullscreen by clicking on the matching button.
PASS shadowRoot.querySelector('.media-controls').classList.contains('inline') is true

Media received a webkitpresentationmodechanged event, media.webkitPresentationMode = fullscreen.
PASS shadowRoot.querySelector('.media-controls').classList.contains('fullscreen') is true

We enter picture-in-picture by clicking on the matching button.

Media received a webkitpresentationmodechanged event, media.webkitPresentationMode = picture-in-picture.

We exit picture-in-picture.

Media received a webkitpresentationmodechanged event, media.webkitPresentationMode = inline.
PASS shadowRoot.querySelector('.media-controls').classList.contains('inline') is true

PASS successfullyParsed is true

TEST COMPLETE

