<!DOCTYPE html>
<html>
<head>
<script src="resources/process-auto-fill-button-type-and-invoke-runTest.js"></script>
<script>
if (window.testRunner)
    testRunner.waitUntilDone();

function runTest()
{
    let inputElements = document.getElementsByTagName("input");
    for (let inputElement of inputElements)
        inputElement.minlength = 100;
    if (window.internals)
        internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks();
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</head>
<body>
<p>This tests that an autofilled Strong Password decorated text field does not change appearance when its minlength changes. It can only be tested in the test tool.</p>
<input type="password" value="Cupertino" minlength="5" data-auto-fill-button-type="StrongPassword" data-autofilled="true">
</body>
</html>
