// Copyright 2017 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_PAYMENTS_CORE_PAYMENTS_PROFILE_COMPARATOR_H_ #define COMPONENTS_PAYMENTS_CORE_PAYMENTS_PROFILE_COMPARATOR_H_ #include <map> #include <string> #include <vector> #include "base/memory/raw_ptr.h" #include "base/memory/raw_ref.h" #include "components/autofill/core/browser/data_model/autofill_profile_comparator.h" // Utility functions used for processing and filtering address profiles // (AutofillProfile). namespace autofill { class AutofillProfile; } // namespace autofill namespace payments { class PaymentOptionsProvider; // Helper class which evaluates profiles for similarity and completeness. // Profiles are evaluated once for completeness, and the result is cached, // meaning one instance of this class should be used per-request to avoid // redoing expensive validation checks. // Note that, if a profile is modified and saved during the course of the // PaymentRequest, it is important to call the Invalidate method to ensure // it is properly evaluated. class PaymentsProfileComparator : public autofill::AutofillProfileComparator { … }; } // namespace payments #endif // COMPONENTS_PAYMENTS_CORE_PAYMENTS_PROFILE_COMPARATOR_H_