<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<meta name="viewport" content="width=device-width">
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../../../resources/ui-helper.js"></script>
<script>
doneCount = 0;
jsTestIsAsync = true;

async function runTest() {
    if (!window.testRunner) {
        description(`This test requires WebKitTestRunner.`);
        return;
    }

    time = document.querySelector("input");
    time.addEventListener("change", checkDone);
    time.addEventListener("blur", checkDone);

    await UIHelper.activateAndWaitForInputSessionAt(75, 75);
    UIHelper.waitForKeyboardToHide().then(checkDone)
    UIHelper.setTimePickerValue(9, 41);
}

function checkDone() {
    if (++doneCount < 3)
        return;

    shouldBe("time.value", "'09:41'");
    finishJSTest();
}
</script>
</head>
<body onload="runTest()">
<input type="time" value="04:01" style="width: 320px; height: 568px;"></input>
</body>
</html>
