| // 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. |
| |
| #ifndef COMPONENTS_AUTOFILL_CONTENT_RENDERER_SUGGESTION_PROPERTIES_H_ |
| #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_SUGGESTION_PROPERTIES_H_ |
| |
| #include "components/autofill/core/common/aliases.h" |
| #include "third_party/blink/public/web/web_form_control_element.h" |
| |
| namespace autofill { |
| |
| // The following functions define properties of Autofill suggestions based on |
| // the trigger source and the triggering WebFormControlElement. |
| // They are only applicable for trigger sources that trigger through the |
| // renderer. When suggestions are updated, the suggestion properties are |
| // irrelevant, since the decision to show suggestions was already made. |
| |
| // Specifies if suggestions should be shown when the triggering element contains |
| // no text. |
| bool ShouldAutofillOnEmptyValues( |
| AutofillSuggestionTriggerSource trigger_source); |
| |
| // Returns whether to query Autofill (i.e. call `AskForValuesToFill`) for values |
| // that exceed `autofill::kMaxStringLength`. |
| bool ShouldAutofillOnLongValues(AutofillSuggestionTriggerSource trigger_source); |
| |
| // Specifies if suggestions should be shown when the caret is not after the last |
| // character of the triggering element. |
| bool RequiresCaretAtEnd(AutofillSuggestionTriggerSource trigger_source); |
| |
| // Specifies if all suggestions should be shown and none should be elided |
| // because of the current value of triggering element. |
| // This is only used by the password manager. |
| bool ShouldShowFullSuggestionListForPasswordManager( |
| AutofillSuggestionTriggerSource trigger_source, |
| const blink::WebFormControlElement& element); |
| |
| } // namespace autofill |
| |
| #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_SUGGESTION_PROPERTIES_H_ |