<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/timeline-test.js"></script>
<script>

function test()
{
    WebInspector.showPanel("timeline");
    finishCalled = 0;

    InspectorTest.startTimeline(function() { InspectorTest.reloadPage(finish); });
    InspectorTest.waitForRecordType("MarkLoad", contentEvent);

    function contentEvent()
    {
        InspectorTest.stopTimeline(finish);
    }

    function finish()
    {
        if (++finishCalled !== 2)
            return;

        InspectorTest.addResult("Model records:");
        InspectorTest.printTimelineRecords("MarkDOMContent");
        InspectorTest.printTimelineRecords("MarkLoad");
        InspectorTest.addResult("Timestamp records:");
        InspectorTest.printTimestampRecords("MarkDOMContent");
        InspectorTest.printTimestampRecords("MarkLoad");
        InspectorTest.completeTest();
    }
}

</script>
</head>

<body onload="runTest()">
<p>
Tests the load event.
</p>

</body>
</html>
