blob: d7309485beb715120880c6d85d00d10e86db5ec1 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/ui-helper.js"></script>
<script>
if (window.testRunner)
testRunner.waitUntilDone();
</script>
</head>
<body>
<p>This tests that the caps lock indicator is visible after hiding the Strong Password AutoFill button. It can only be tested in the test tool.</p>
<input type="password" value="A quick brown fox jumped over the lazy dog.">
<script>
function done()
{
if (window.testRunner)
testRunner.notifyDone();
}
function handleCapsLockEnabled(event)
{
console.assert(event.key === "CapsLock");
let input = document.querySelector("input");
internals.setAutofilled(input, false);
internals.setShowAutoFillButton(input, "None");
// Move the caret to the beginning of the field to ensure consistent test results.
input.setSelectionRange(0, 0);
// FIXME: For some reason it takes up to 100ms for the caps lock indicator to be painted (why?).
window.setTimeout(done, 100);
}
async function runTest()
{
if (!window.internals)
return;
let input = document.querySelector("input");
internals.setAutofilled(input, true);
internals.setShowAutoFillButton(input, "StrongPassword");
function handleFocus(event) {
console.assert(event.target === input);
input.addEventListener("keydown", handleCapsLockEnabled, { once: true });
UIHelper.toggleCapsLock();
}
input.addEventListener("focus", handleFocus, { once: true });
UIHelper.activateElement(input);
}
runTest();
</script>
</body>
</html>