blob: acae45f1dc0ecc9132f2923ff00810cb728dcea6 [file] [log] [blame]
<html>
<head>
<script>
var drtURL = "http://127.0.0.1:8000";
// Helpers.
function log(message) {
document.getElementById("console").innerHTML += message + "<br>";
}
// Start and end.
function startTest() {
if (window.testRunner) {
testRunner.clearAllApplicationCaches();
log("Cleared application cache");
testRunner.dumpApplicationCacheDelegateCallbacks();
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
addFirstIFrame();
}
function finishTest() {
if (window.testRunner)
testRunner.notifyDone();
}
// Stages.
function addIFrameWithContinuation(src, continuation) {
window.onmessage = continuation;
var iframe = document.createElement("iframe");
iframe.src = src;
document.body.appendChild(iframe);
}
function addFirstIFrame() {
// Expected to succeed.
addIFrameWithContinuation("resources/origin-usage-iframe-1.html", function(event) {
log(event.data);
var usage = testRunner.applicationCacheDiskUsageForOrigin(drtURL);
log("Usage for " + drtURL + " after first frame is between 15000 and 16000 bytes: " + ((usage > 15000) && (usage < 16000)));
addSecondIFrame();
});
}
function addSecondIFrame() {
addIFrameWithContinuation("resources/origin-usage-iframe-2.html", function(event) {
log(event.data);
var usage = testRunner.applicationCacheDiskUsageForOrigin(drtURL);
log("Usage for " + drtURL + " after second frame is between 30000 and 32000 bytes: " + ((usage > 30000) && (usage < 32000)));
log("Removing Application Cache for " + drtURL);
testRunner.clearApplicationCacheForOrigin(drtURL);
log("Usage for " + drtURL + ": " + testRunner.applicationCacheDiskUsageForOrigin(drtURL));
finishTest();
});
}
</script>
</head>
<body onload="startTest()">
<p>This test checks that per-origin usage is reported correctly by loading two iframes which use ~15K each and querying origin usage.</p>
</p>
<pre id="console"></pre>
</body>
</html>