<!DOCTYPE html>
<html>
<head>
<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-17" />
<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.maxlength = 5;
    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 maxlength changes. It can only be tested in the test tool.</p>
<input type="password" value="Cupertino" maxlength="100" data-auto-fill-button-type="StrongPassword" data-autofilled="true">
</body>
</html>
