<script src="../../../../../resources/js-test-pre.js"></script>
<script src="../../../../../media/modern-media-controls/resources/media-controls-loader.js" type="text/javascript"></script>
<script src="../../../../../media/modern-media-controls/resources/media-controls-utils.js" type="text/javascript"></script>
<body>
<style type="text/css" media="screen">
    
    video, #host {
        position: absolute;
        top: 0;
        left: 0;
        width: 768px;
        height: 240px;
    }
    
</style>
<video src="../../../../../media/content/test.mp4" autoplay controls></video>
<div id="host"></div>
<script type="text/javascript">

window.jsTestIsAsync = true;

description("Testing the <code>PiPSupport</code> behavior when clicking the PiP button.");

const container = document.querySelector("div#host");
const media = document.querySelector("video");
const mediaController = createControls(container, media, null);

scheduler.frameDidFire = function() {
    if (media.paused)
        return;

    if (pressOnElement(mediaController.controls.pipButton.element))
        scheduler.frameDidFire = null;
};

media.addEventListener("webkitpresentationmodechanged", () => {
    shouldBeEqualToString("media.webkitPresentationMode", "picture-in-picture");
    container.remove();
    media.remove();
    finishMediaControlsTest();
});

</script>
<script src="../../../../../resources/js-test-post.js"></script>
</body>
