<!DOCTYPE html>
<html>
<body>
<p>This tests that a readonly field with the Strong Password AutoFill buttons renders identical to a disabled field with the Strong Confirmation AutoFill button. It can only be tested in the test tool.</p>
<input type="password" placeholder="read only" readonly>
<br>
<input type="password" value="A quick brown fox jumped over the lazy dog." readonly>
<br>
<input type="password" value="A quick brown fox jumped over the lazy dog." style="width:300px" readonly>
<script>
if (window.internals) {
    var inputElements = document.getElementsByTagName("input");
    for (let inputElement of inputElements) {
        internals.setAutofilled(inputElement, true);
        internals.setShowAutoFillButton(inputElement, "StrongConfirmationPassword");
    }
}
</script>
</body>
</html>
