<!DOCTYPE html>
<html>
<body>
<p>This tests that the Strong Confirmation Password AutoFill button renders in an auto-filled input. It can only be tested in the test tool.</p>
<div id="container">
    <input type="text" value="A quick brown fox jumped over the lazy dog.">
    <input type="password" value="A quick brown fox jumped over the lazy dog.">
    <input type="password" value="A quick brown fox jumped over the lazy dog." style="width:300px">
    <input type="password" value="A quick brown fox jumped over the lazy dog." style="width:20px">
    <input type="password" value="A quick brown fox jumped over the lazy dog." style="height:100px">
    <input type="password" value="A quick brown fox jumped over the lazy dog." style="width:20px; height:100px">
</div>
<script>
if (window.internals) {
    var inputs = document.querySelectorAll("input");
    for (var i = 0; i < inputs.length; ++i) {
        window.internals.setAutofilled(inputs[i], true);
        window.internals.setShowAutoFillButton(inputs[i], "StrongConfirmationPassword");
    }

    var dynamicInput = document.createElement("input");
    window.internals.setAutofilled(dynamicInput, true);
    window.internals.setShowAutoFillButton(dynamicInput, "StrongConfirmationPassword");
    document.querySelector("#container").appendChild(dynamicInput);
}
</script>
</body>
</html>
