blob: e5b7d86b2af98bba201bbb968caa9087cb01617f [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/autofill/content/renderer/a11y_utils.h"
#include "third_party/blink/public/web/web_ax_object.h"
#include "third_party/blink/public/web/web_input_element.h"
namespace autofill {
void SetAutofillSuggestionAvailability(
const blink::WebInputElement& element,
mojom::AutofillSuggestionAvailability suggestion_availability) {
if (element) {
auto to_blink_enum = [](mojom::AutofillSuggestionAvailability
suggestion_availability) {
switch (suggestion_availability) {
case mojom::AutofillSuggestionAvailability::kAutofillAvailable:
return blink::WebAXAutofillSuggestionAvailability::kAutofillAvailable;
case mojom::AutofillSuggestionAvailability::kAutocompleteAvailable:
return blink::WebAXAutofillSuggestionAvailability::
kAutocompleteAvailable;
case mojom::AutofillSuggestionAvailability::kNoSuggestions:
return blink::WebAXAutofillSuggestionAvailability::kNoSuggestions;
}
NOTREACHED();
};
blink::WebAXObject::FromWebNode(element)
.HandleAutofillSuggestionAvailabilityChanged(
to_blink_enum(suggestion_availability));
}
}
} // namespace autofill