Commit 3ba2a7ed authored by Anupam Snigdha's avatar Anupam Snigdha Committed by Commit Bot

Rewrite Virtual Keyboard API tests without touch injection APIs.

On 1909 Windows builds, it looks like the touch injection APIs are
very flaky and thus leading to increased flakiness in the VK API
tests that use touch gesture to show/hide VK and test the VK policy.
In this change I've rewritten all the tests using simulated touch
gesture APIs that don't use system touch injections.

Bug: 1108551

Change-Id: I936f4835cc3688b865ec8f1587c4d8a6eaba2a36
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2368158Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Commit-Queue: Anupam Snigdha <snianu@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#800646}
parent 2d32c60f
This diff is collapsed.
...@@ -6093,10 +6093,6 @@ if (!is_android) { ...@@ -6093,10 +6093,6 @@ if (!is_android) {
sources += [ "../browser/ui/views/autofill/autofill_accessibility_win_browsertest.cc" ] sources += [ "../browser/ui/views/autofill/autofill_accessibility_win_browsertest.cc" ]
} }
if (is_win) {
sources += [ "../browser/virtual_keyboard_policy_uitest_win.cc" ]
}
configs += [ "//build/config:precompiled_headers" ] configs += [ "//build/config:precompiled_headers" ]
if ((is_linux || is_chromeos) && !is_component_build) { if ((is_linux || is_chromeos) && !is_component_build) {
configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ] configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
......
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
#txt1 {
position: absolute;
top: 0px;
left: 0px;
}
#txt2 {
position: absolute;
top: 0px;
left: 100px;
}
#txt3 {
position: absolute;
top: 0px;
left: 200px;
}
#txt4 {
position: absolute;
top: 0px;
left: 400px;
}
#txt5 {
position: absolute;
top: 0px;
left: 800px;
}
</style>
<script>
const editContext = new EditContext();
editContext.inputPanelPolicy = "manual";
function log(text) {
document.title = text;
}
function FocusIn1() {
log('focusin1');
navigator.virtualKeyboard.show();
}
function HideVKCalled() {
log('KeyDown1');
navigator.virtualKeyboard.hide();
}
function FocusIn2() {
log('focusin2');
navigator.virtualKeyboard.hide();
}
function FocusIn3() {
log('focusin3');
}
function FocusIn4() {
editContext.focus();
navigator.virtualKeyboard.show();
log('focusin4');
}
function HideVKIn4() {
navigator.virtualKeyboard.hide();
log('hidevkin4');
}
function FocusIn5() {
navigator.virtualKeyboard.show();
const child = document.createElement("iframe");
document.body.appendChild(child);
const childDocument = child.contentDocument;
const textarea = childDocument.createElement('textarea');
textarea.setAttribute("virtualKeyboardPolicy", "manual");
childDocument.body.appendChild(textarea);
textarea.addEventListener("onfocusin", e => {
child.remove();
});
child.contentWindow.focus();
textarea.focus();
log('focusin5');
}
</script>
</head>
<body onload="log('onload')">
<textarea id="txt1" virtualkeyboardpolicy="manual" onfocusin="FocusIn1()" onkeydown="HideVKCalled()"></textarea>
<textarea id="txt2" virtualkeyboardpolicy="manual" onfocusin="FocusIn2()"></textarea>
<textarea id="txt3" onfocusin="FocusIn3()"></textarea>
<textarea id="txt4" onfocusin="FocusIn4()" onkeydown="HideVKIn4()"></textarea>
<textarea id="txt5" ontouchstart="FocusIn5()"></textarea>
</body>
</html>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment