<html manifest="resources/whitelist-wildcard.manifest">
<body>
<p>Test that online whitelist wildcard flag is implemented.</p>
<script>
if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.waitUntilDone();
}

function test()
{
    try {
        var req = new XMLHttpRequest;
        req.open("GET", "resources/empty.txt", false);
        req.send();
        document.body.appendChild(document.createTextNode("SUCCESS"));
    } catch (ex) {
        document.body.appendChild(document.createTextNode(ex));
    }
    if (window.layoutTestController)
        layoutTestController.notifyDone();
}

applicationCache.oncached = test;
applicationCache.onnoupdate = test;

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