<!DOCTYPE html>
<html>
<head>
<title> Same-origin postMessage with targetOrigin == "/" </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>

<div style="display:none">
    <iframe width="70%" onload="PostMessageTest()" src="./support/ChildWindowPostMessage.htm"></iframe>
</div>

<script>


    var description = "Test Description: " +
                      "To restrict the message to same-origin targets only, without needing to explicitly " +
                      "state the origin, set the target origin to '/'.";

    var t = async_test(description);

    var DATA = "/";
    var TARGET = document.querySelector("iframe");
    var SORIGIN = location.protocol + "//" + location.host;
    var ExpectedResult = [DATA, SORIGIN];
    var ActualResult = [];

    function PostMessageTest()
    {
        TARGET.contentWindow.postMessage(DATA, "/");
    }

    window.onmessage = t.step_func(function(e)
    {
        ActualResult.push(e.data, e.origin);
        assert_array_equals(ActualResult, ExpectedResult, "ActualResult");
        t.done();
    });
</script>
</body>
</html>
