#include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/observer_list.h"
#include "base/task/sequenced_task_runner.h"
#include "components/autofill/core/browser/data_model/autofill_offer_data.h"
#include "components/autofill/core/browser/data_model/credit_card.h"
#include "components/autofill/core/browser/data_model/iban.h"
#include "components/autofill/core/browser/geo/autofill_country.h"
#include "components/autofill/core/browser/webdata/autocomplete/autocomplete_entry.h"
#include "components/autofill/core/browser/webdata/autofill_change.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_backend_impl.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_service_observer.h"
#include "components/autofill/core/common/form_field_data.h"
#include "components/webdata/common/web_database_backend.h"
#include "components/webdata/common/web_database_service.h"
namespace autofill {
AutofillWebDataService::AutofillWebDataService(
scoped_refptr<WebDatabaseService> wdbs,
scoped_refptr<base::SequencedTaskRunner> ui_task_runner)
: … { … }
void AutofillWebDataService::ShutdownOnUISequence() { … }
void AutofillWebDataService::AddFormFields(
const std::vector<FormFieldData>& fields) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetFormValuesForElementName(
const std::u16string& name,
const std::u16string& prefix,
int limit,
WebDataServiceConsumer* consumer) { … }
void AutofillWebDataService::RemoveFormElementsAddedBetween(
base::Time delete_begin,
base::Time delete_end) { … }
void AutofillWebDataService::RemoveFormValueForElementName(
const std::u16string& name,
const std::u16string& value) { … }
void AutofillWebDataService::AddAutofillProfile(
const AutofillProfile& profile) { … }
void AutofillWebDataService::SetAutofillProfileChangedCallback(
base::RepeatingCallback<void(const AutofillProfileChange&)> change_cb) { … }
void AutofillWebDataService::UpdateAutofillProfile(
const AutofillProfile& profile) { … }
void AutofillWebDataService::RemoveAutofillProfile(
const std::string& guid,
AutofillProfile::RecordType record_type) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetAutofillProfiles(
AutofillProfile::RecordType record_type,
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle
AutofillWebDataService::GetCountOfValuesContainedBetween(
base::Time begin,
base::Time end,
WebDataServiceConsumer* consumer) { … }
void AutofillWebDataService::UpdateAutocompleteEntries(
const std::vector<AutocompleteEntry>& autocomplete_entries) { … }
void AutofillWebDataService::AddCreditCard(const CreditCard& credit_card) { … }
void AutofillWebDataService::UpdateCreditCard(
const CreditCard& credit_card) { … }
void AutofillWebDataService::UpdateLocalCvc(const std::string& guid,
const std::u16string& cvc) { … }
void AutofillWebDataService::RemoveCreditCard(const std::string& guid) { … }
void AutofillWebDataService::AddLocalIban(const Iban& iban) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetLocalIbans(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetServerIbans(
WebDataServiceConsumer* consumer) { … }
void AutofillWebDataService::UpdateLocalIban(const Iban& iban) { … }
void AutofillWebDataService::RemoveLocalIban(const std::string& guid) { … }
void AutofillWebDataService::UpdateServerIbanMetadata(const Iban& iban) { … }
void AutofillWebDataService::AddServerCvc(int64_t instrument_id,
const std::u16string& cvc) { … }
void AutofillWebDataService::UpdateServerCvc(int64_t instrument_id,
const std::u16string& cvc) { … }
void AutofillWebDataService::RemoveServerCvc(int64_t instrument_id) { … }
void AutofillWebDataService::ClearServerCvcs() { … }
void AutofillWebDataService::ClearLocalCvcs() { … }
WebDataServiceBase::Handle AutofillWebDataService::GetCreditCards(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetServerCreditCards(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetPaymentsCustomerData(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetCreditCardCloudTokenData(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetAutofillOffers(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetVirtualCardUsageData(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetCreditCardBenefits(
WebDataServiceConsumer* consumer) { … }
WebDataServiceBase::Handle AutofillWebDataService::GetMaskedBankAccounts(
WebDataServiceConsumer* consumer) { … }
void AutofillWebDataService::ClearAllCreditCardBenefits() { … }
void AutofillWebDataService::ClearAllServerData() { … }
void AutofillWebDataService::UpdateServerCardMetadata(
const CreditCard& credit_card) { … }
void AutofillWebDataService::RemoveAutofillDataModifiedBetween(
base::Time delete_begin,
base::Time delete_end) { … }
void AutofillWebDataService::RemoveOriginURLsModifiedBetween(
base::Time delete_begin,
base::Time delete_end) { … }
void AutofillWebDataService::AddObserver(
AutofillWebDataServiceObserverOnDBSequence* observer) { … }
void AutofillWebDataService::RemoveObserver(
AutofillWebDataServiceObserverOnDBSequence* observer) { … }
void AutofillWebDataService::AddObserver(
AutofillWebDataServiceObserverOnUISequence* observer) { … }
void AutofillWebDataService::RemoveObserver(
AutofillWebDataServiceObserverOnUISequence* observer) { … }
base::SupportsUserData* AutofillWebDataService::GetDBUserData() { … }
void AutofillWebDataService::GetAutofillBackend(
base::OnceCallback<void(AutofillWebDataBackend*)> callback) { … }
scoped_refptr<base::SequencedTaskRunner>
AutofillWebDataService::GetDBTaskRunner() { … }
WebDataServiceBase::Handle
AutofillWebDataService::RemoveExpiredAutocompleteEntries(
WebDataServiceConsumer* consumer) { … }
void AutofillWebDataService::AddServerCreditCardForTesting(
const CreditCard& credit_card) { … }
AutofillWebDataService::~AutofillWebDataService() = default;
void AutofillWebDataService::NotifyOnAutofillChangedBySyncOnUISequence(
syncer::DataType data_type) { … }
}