blob: aa1e99dda2f6b68c30194d1cef77c494497df538 [file] [log] [blame]
<html>
<head>
<script src="../inspector-test.js"></script>
<script src="../network-test.js"></script>
<script src="../debugger-test.js"></script>
<script src="../../../../resources/gc.js"></script>
<script>
var scriptElement;
function loadScript()
{
scriptElement = document.createElement("script");
scriptElement.src = "resources/cached-script.php";
document.head.appendChild(scriptElement);
}
function unloadScript()
{
scriptElement.parentElement.removeChild(scriptElement);
}
function test()
{
var timeZero = 0;
InspectorTest.recordNetwork();
InspectorTest.NetworkAgent.setCacheDisabled(true, step1);
function step1()
{
InspectorTest.addConsoleSniffer(step2);
InspectorTest.evaluateInPage("loadScript()");
}
function step2(event)
{
InspectorTest.evaluateInPage("unloadScript()", step3);
}
function step3()
{
InspectorTest.evaluateInPage("gc()", step4);
}
function step4()
{
InspectorTest.NetworkAgent.setCacheDisabled(true, step5);
}
function step5()
{
var request = InspectorTest.networkRequests().pop();
InspectorTest.addResult("URL:" + request.url());
InspectorTest.addResult("from memory cache: " + !!request._fromMemoryCache);
InspectorTest.addResult("from disk cache: " + !!request._fromDiskCache);
InspectorTest.addResult("has timing: " + !!request._timing);
InspectorTest.addResult("");
timeZero = request._timing.requestTime;
InspectorTest.NetworkAgent.setCacheDisabled(false, step6);
}
function step6()
{
InspectorTest.addConsoleSniffer(step7);
InspectorTest.evaluateInPage("loadScript()");
}
function step7()
{
var request = InspectorTest.networkRequests().pop();
InspectorTest.addResult("URL:" + request.url());
InspectorTest.addResult("from memory cache: " + !!request._fromMemoryCache);
InspectorTest.addResult("from disk cache: " + !!request._fromDiskCache);
InspectorTest.addResult("has timing: " + !!request._timing);
InspectorTest.addResult("");
var time = request._timing.requestTime;
InspectorTest.addResult("Second request starts later than first: " + (time > timeZero));
InspectorTest.completeTest();
}
}
</script>
</head>
<body onload="runTest()">
<p> Tests requests loaded from disk cache have correct timing</p>
</body>
</html>