| <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> |
| |