<!DOCTYPE HTML>
<html>
<head>
<title>WebStorage Test: sessionStorage - open a existing browsing context</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script>

async_test(function(t) {

    var storage = window.sessionStorage;
    storage.clear();

    storage.setItem("FOO", "BAR");
    var win = window.open("resources/storage_session_window_open_second.html");
    window.addEventListener('message', t.step_func(function(e) {
        e.data.forEach(t.step_func(function(assertion) {
            assert_equals(assertion.actual, assertion.expected, assertion.message);
        }));
        win.close();
        t.done();
    }));

}, "A new window to make sure there is a copy of the previous window's sessionStorage, and that they diverge after a change");

</script>
</body>
</html>
