#include <memory>
#include <string>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/waitable_event.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "base/uuid.h"
#include "components/autofill/core/browser/data_model/autofill_profile.h"
#include "components/autofill/core/browser/data_model/credit_card.h"
#include "components/autofill/core/browser/geo/autofill_country.h"
#include "components/autofill/core/browser/webdata/addresses/address_autofill_table.h"
#include "components/autofill/core/browser/webdata/autocomplete/autocomplete_entry.h"
#include "components/autofill/core/browser/webdata/autocomplete/autocomplete_table.h"
#include "components/autofill/core/browser/webdata/autofill_change.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_service_observer.h"
#include "components/autofill/core/browser/webdata/payments/payments_autofill_table.h"
#include "components/autofill/core/common/autofill_clock.h"
#include "components/autofill/core/common/form_field_data.h"
#include "components/os_crypt/sync/os_crypt_mocker.h"
#include "components/webdata/common/web_data_results.h"
#include "components/webdata/common/web_data_service_base.h"
#include "components/webdata/common/web_data_service_consumer.h"
#include "components/webdata/common/web_database_service.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace autofill {
namespace {
Bucket;
BucketsAre;
DoDefault;
ElementsAre;
Pointee;
UnorderedElementsAre;
template <class T>
class AutofillWebDataServiceWaiter : public WebDataServiceConsumer { … };
constexpr base::TimeDelta kWebDataServiceTimeout = …;
ACTION_P(SignalEvent, event) { … }
class MockAutofillWebDataServiceObserver
: public AutofillWebDataServiceObserverOnDBSequence { … };
class WebDataServiceTest : public testing::Test { … };
class WebDataServiceAutofillTest : public WebDataServiceTest { … };
TEST_F(WebDataServiceAutofillTest, FormFillAdd) { … }
TEST_F(WebDataServiceAutofillTest, FormFillRemoveOne) { … }
TEST_F(WebDataServiceAutofillTest, FormFillRemoveMany) { … }
TEST_F(WebDataServiceAutofillTest, ProfileAdd) { … }
TEST_F(WebDataServiceAutofillTest, ProfileRemove) { … }
TEST_F(WebDataServiceAutofillTest, ProfileUpdate) { … }
TEST_F(WebDataServiceAutofillTest, CreditAdd) { … }
TEST_F(WebDataServiceAutofillTest, CreditCardRemove) { … }
TEST_F(WebDataServiceAutofillTest, CreditUpdate) { … }
TEST_F(WebDataServiceAutofillTest, AutofillRemoveModifiedBetween) { … }
TEST_F(WebDataServiceAutofillTest, SuccessReporting) { … }
}
}