<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>

<div id="sandbox"></div>

<script>
    description("Media query DOM events should fire (grouped by the MediaQueryList.)");
    var jsTestIsAsync = true;

    var sandbox = document.getElementById("sandbox");
    var iframe = document.createElement("iframe");
    sandbox.appendChild(iframe);

    var matchMedia = iframe.contentWindow.matchMedia;
    var mediaList1 = matchMedia("(max-width: 100px)");
    var mediaList2 = matchMedia("(max-width: 100px)");
    var mediaList3 = matchMedia("(max-width: 100px)");

    var listenersCalled = [];

    function makeListener(label) {
        return function() { listenersCalled.push(label); };
    }

    mediaList3.addEventListener("change", makeListener("mediaList3_1"), false);
    mediaList2.addEventListener("change", makeListener("mediaList2_1"), false);
    mediaList1.addEventListener("change", makeListener("mediaList1_1"), false);
    mediaList2.onchange = makeListener("mediaList2_2");
    mediaList3.addEventListener("change", verifyResult, false);

    iframe.style.width = "200px";

    var expectedResult = ["mediaList1_1", "mediaList2_1", "mediaList2_2", "mediaList3_1"];
    function verifyResult() {
        shouldBe("listenersCalled", "expectedResult");
        finishJSTest();
    }
</script>
