| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../resources/js-test.js"></script> |
| <script src="../resources/accessibility-helper.js"></script> |
| </head> |
| <body> |
| |
| <input type="text" value="hello" id="textfield"> |
| |
| <script> |
| |
| description("This tests that the auto-filled buttons show up."); |
| |
| if (window.accessibilityController) { |
| window.jsTestIsAsync = true; |
| |
| var textField, axTextField, contactsButton, credentialsButton; |
| setTimeout(async function() { |
| textField = document.getElementById("textfield"); |
| axTextField = accessibilityController.accessibleElementById("textfield"); |
| debug("Initial auto-fill available: " + axTextField.boolAttributeValue("AXValueAutofillAvailable")); |
| debug("Auto-fill type: " + axTextField.stringAttributeValue("AXValueAutofillType")); |
| |
| window.internals.setShowAutoFillButton(document.getElementById("textfield"), "Contacts"); |
| // Wait for contacts autofill button to render. |
| await waitFor(() => { |
| contactsButton = axTextField.childAtIndex(1); |
| return contactsButton && axTextField.stringAttributeValue("AXValueAutofillType") === "contacts"; |
| }); |
| debug("Contact button role: " + contactsButton.role); |
| debug("Contact button label: " + contactsButton.description); |
| debug("Auto-fill type: " + axTextField.stringAttributeValue("AXValueAutofillType")); |
| |
| window.internals.setShowAutoFillButton(document.getElementById("textfield"), "Credentials"); |
| // Wait for credentials autofill button to render. |
| await waitFor(() => { |
| credentialsButton = axTextField.childAtIndex(1); |
| return credentialsButton && axTextField.stringAttributeValue("AXValueAutofillType") === "credentials"; |
| }); |
| debug("Credentials button role: " + credentialsButton.role); |
| debug("Credentials button label: " + credentialsButton.description); |
| debug("Auto-fill type: " + axTextField.stringAttributeValue("AXValueAutofillType")); |
| |
| debug("Post auto-fill available: " + axTextField.boolAttributeValue("AXValueAutofillAvailable")); |
| |
| finishJSTest(); |
| }, 0); |
| } |
| </script> |
| </body> |
| </html> |
| |