<html manifest="resources/empty.manifest">
<!--
Generate this token with the command:
tools/origin_trials/generate_token.py http://127.0.0.1:8000 AppCache --expire-days=2000
-->
<meta http-equiv="origin-trial" content="AnwB3aSh6U8pmYtO/AzzxELSwk8BRJoj77nUnCq6u3N8LMJKlX/ImydQmXn3SgE0a+8RyowLbV835tXQHJMHuAEAAABQeyJvcmlnaW4iOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwgImZlYXR1cmUiOiAiQXBwQ2FjaGUiLCAiZXhwaXJ5IjogMTc2MTE3NjE5OH0=">

<div>This tests that the cached event gets sent even if the manifest is empty.</div>
<div id="result">FAILURE</div>

<script>
if (window.testRunner) {
    testRunner.dumpAsText()
    testRunner.waitUntilDone();
}

function cached()
{
    document.getElementById('result').innerHTML = 'SUCCESS';
    
    if (window.testRunner)
        testRunner.notifyDone();
}

applicationCache.addEventListener('cached', cached, false);

</script>
</html>
