<script>
window.testRunner && window.testRunner.dumpAsText();

window.addEventListener("load", () => {

    var append = (msg) => { document.body.appendChild(document.createTextNode(msg)); document.body.appendChild(document.createElement("br")); }

    var timing = JSON.parse(JSON.stringify(performance.timing));

    ["navigationStart", "unloadEventStart", "unloadEventEnd", "redirectStart",
    "redirectEnd", "fetchStart", "domainLookupStart", "domainLookupEnd",
    "connectStart", "connectEnd", "secureConnectionStart", "requestStart",
    "responseStart", "responseEnd", "domLoading", "domInteractive",
    "domContentLoadedEventStart", "domContentLoadedEventEnd", "domComplete",
    "loadEventStart", "loadEventEnd"].forEach((attr) => {
        append(timing.hasOwnProperty(attr) ? `PASS: ${attr} has a value.` : `FAIL: ${attr} was missing.`);
    });

}, false);
</script>