<html>
<head>
<script src="resources/clearLocalStorage.js"></script>
<script>

if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.setCanOpenWindows();
    layoutTestController.waitUntilDone();
}

function log(a)
{
    document.getElementById("logger").innerHTML += a + "<br>";
}

function runTest()
{
    if (!window.localStorage) {
        log("window.localStorage DOES NOT exist");
        return;
    }
    
    window.log = log;
    
    window.localStorage.setItem("FOO", "BAR");
    log("Value for FOO is " + window.localStorage.getItem("FOO"));    
    window.open("resources/window-open-second.html");
    

}

</script>
</head>
<body onload="runTest();">
This is a test to make sure the localStorage object for multiple windows in the same security origin share the same global storage area.<br>
<div id="logger"></div>
</body>
</html>
