blob: 4e0351e712d35f1fa9ca4c975c04f9862d5eb05b [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<script src="../../../../resources/js-test.js" type="text/javascript"></script>
<script src="../../../../resources/ui-helper.js" type="text/javascript"></script>
<head>
<style>
#tiny-editor {
width: 0.5px;
height: 0.5px;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
outline: none;
}
textarea, button {
width: 280px;
height: 50px;
display: block;
font-size: 20px;
}
</style>
<script>
jsTestIsAsync = true;
addEventListener("load", async () => {
description("This test verifies that focusing editable elements updates the key window. This test requires WebKitTestRunner.");
const textarea = document.querySelector("textarea");
const button = document.querySelector("button");
button.addEventListener("touchstart", (event) => {
document.querySelector("#tiny-editor").focus();
event.preventDefault();
});
if (!window.testRunner)
return;
for (let element of [textarea, button]) {
await UIHelper.setWindowIsKey(false);
await UIHelper.activateElementAndWaitForInputSession(element);
while (true) {
result = await UIHelper.windowIsKey();
if (result)
break;
}
testPassed(`Became key window after tapping on ${element.tagName}`);
document.activeElement.blur();
await UIHelper.waitForKeyboardToHide();
element.remove();
}
finishJSTest();
});
</script>
</head>
<body>
<div id="tiny-editor" contenteditable></div>
<textarea>First, click here</textarea>
<button>Then, click here</button>
</body>
</html>