<script>
// This test requires ASAN to detect a regression.
function runTest() {
    document.querySelector('iframe').contentWindow.addEventListener('unload', function() {
        document.querySelector('input').focus();
    }, true);

    if (window.testRunner)
        testRunner.dumpAsText();
    document.writeln('');
    if (window.GCController)
        GCController.collect();
    else if (window.gc)
        gc();
    document.writeln('PASS if not crashed.');
}
</script>
<body onload="runTest()">
<input type="time">
<iframe></iframe>
</body>
