#include "components/autofill/core/browser/autofill_field.h"
#include <stdint.h>
#include <iterator>
#include "base/containers/contains.h"
#include "base/containers/fixed_flat_set.h"
#include "base/feature_list.h"
#include "base/notreached.h"
#include "base/strings/string_number_conversions.h"
#include "base/types/cxx23_to_underlying.h"
#include "components/autofill/core/browser/field_type_utils.h"
#include "components/autofill/core/browser/field_types.h"
#include "components/autofill/core/browser/proto/server.pb.h"
#include "components/autofill/core/common/autofill_features.h"
#include "components/autofill/core/common/dense_set.h"
#include "components/autofill/core/common/html_field_types.h"
#include "components/autofill/core/common/signatures.h"
namespace autofill {
FieldPrediction;
template <>
struct DenseSetTraits<FieldPrediction::Source> { … };
namespace {
static constexpr auto kAutofillHeuristicsVsHtmlOverrides = …;
static constexpr auto kAutofillHeuristicsVsServerOverrides = …;
bool IsDefaultPrediction(const FieldPrediction& prediction) { … }
bool AreCollapsibleLogEvents(const AutofillField::FieldLogEventType& event1,
const AutofillField::FieldLogEventType& event2) { … }
bool PreferHeuristicOverHtml(FieldType heuristic_type,
HtmlFieldType html_type) { … }
bool PreferHeuristicOverServer(FieldType heuristic_type,
FieldType server_type) { … }
DenseSet<HtmlFieldType> BelievedHtmlTypes(FieldType heuristic_prediction,
FieldType server_prediction) { … }
}
AutofillField::AutofillField() { … }
AutofillField::AutofillField(FieldSignature field_signature) : … { … }
AutofillField::AutofillField(const FormFieldData& field)
: … { … }
AutofillField::AutofillField(AutofillField&&) = default;
AutofillField& AutofillField::operator=(AutofillField&&) = default;
AutofillField::~AutofillField() = default;
std::unique_ptr<AutofillField> AutofillField::CreateForPasswordManagerUpload(
FieldSignature field_signature) { … }
FieldType AutofillField::heuristic_type() const { … }
FieldType AutofillField::heuristic_type(HeuristicSource s) const { … }
FieldType AutofillField::server_type() const { … }
bool AutofillField::server_type_prediction_is_override() const { … }
void AutofillField::set_heuristic_type(HeuristicSource s, FieldType type) { … }
void AutofillField::set_server_predictions(
std::vector<FieldPrediction> predictions) { … }
void AutofillField::SetHtmlType(HtmlFieldType type, HtmlFieldMode mode) { … }
void AutofillField::SetTypeTo(const AutofillType& type) { … }
AutofillType AutofillField::ComputedType() const { … }
AutofillType AutofillField::Type() const { … }
bool AutofillField::IsEmpty() const { … }
FieldSignature AutofillField::GetFieldSignature() const { … }
std::string AutofillField::FieldSignatureAsStr() const { … }
bool AutofillField::IsFieldFillable() const { … }
bool AutofillField::HasExpirationDateType() const { … }
bool AutofillField::ShouldSuppressSuggestionsAndFillingByDefault() const { … }
void AutofillField::SetPasswordRequirements(PasswordRequirementsSpec spec) { … }
bool AutofillField::IsCreditCardPrediction() const { … }
void AutofillField::AppendLogEventIfNotRepeated(
const FieldLogEventType& log_event) { … }
bool AutofillField::WasAutofilledWithFallback() const { … }
}