| # Copyright 2021 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/android/rules.gni") |
| import("//build/config/locales.gni") |
| import("//third_party/jni_zero/jni_zero.gni") |
| |
| android_aidl("autofill_aidl") { |
| import_include = [ "java/src" ] |
| sources = [ |
| "java/src/org/chromium/components/autofill_public/IAutofillHintsService.aidl", |
| "java/src/org/chromium/components/autofill_public/IViewTypeCallback.aidl", |
| "java/src/org/chromium/components/autofill_public/ViewType.aidl", |
| ] |
| } |
| |
| android_library("java") { |
| srcjar_deps = [ |
| ":autofill_aidl", |
| ":jni_headers", |
| ] |
| deps = [ |
| ":features_java", |
| "//base:base_java", |
| "//base/version_info/android:version_constants_java", |
| "//build/android:build_java", |
| "//components/autofill/android:autofill_java", |
| "//components/autofill/core/common/mojom:mojo_types_java", |
| "//content/public/android:content_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//ui/android:ui_no_recycler_view_java", |
| ] |
| |
| sources = [ |
| "java/src/org/chromium/components/autofill/AutofillHintsService.java", |
| "java/src/org/chromium/components/autofill/AutofillManagerWrapper.java", |
| "java/src/org/chromium/components/autofill/AutofillProvider.java", |
| "java/src/org/chromium/components/autofill/AutofillProviderUMA.java", |
| "java/src/org/chromium/components/autofill/AutofillRequest.java", |
| "java/src/org/chromium/components/autofill/AutofillSelectionActionMenuDelegate.java", |
| "java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java", |
| "java/src/org/chromium/components/autofill/FormData.java", |
| "java/src/org/chromium/components/autofill/FormFieldData.java", |
| "java/src/org/chromium/components/autofill/PrefillRequest.java", |
| "java/src/org/chromium/components/autofill/SparseArrayWithWorkaround.java", |
| "java/src/org/chromium/components/autofill_public/ViewType.java", |
| ] |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "java/src/org/chromium/components/autofill/AutofillProvider.java", |
| "java/src/org/chromium/components/autofill/FormData.java", |
| "java/src/org/chromium/components/autofill/FormFieldData.java", |
| ] |
| } |
| |
| android_library("features_java") { |
| srcjar_deps = [ ":jni_headers_features" ] |
| sources = [ |
| "java/src/org/chromium/components/autofill/AndroidAutofillFeatures.java", |
| ] |
| |
| deps = [ |
| "//base:base_java", |
| "//build/android:build_java", |
| "//third_party/jni_zero:jni_zero_java", |
| ] |
| } |
| |
| static_library("features") { |
| sources = [ |
| "android_autofill_features.cc", |
| "android_autofill_features.h", |
| ] |
| |
| deps = [ |
| ":jni_headers_features", |
| "//base", |
| ] |
| } |
| |
| generate_jni("jni_headers_features") { |
| sources = [ |
| "java/src/org/chromium/components/autofill/AndroidAutofillFeatures.java", |
| ] |
| } |
| |
| static_library("android") { |
| sources = [ |
| "android_autofill_bridge_factory.cc", |
| "android_autofill_bridge_factory.h", |
| "android_autofill_client.cc", |
| "android_autofill_client.h", |
| "android_autofill_provider.cc", |
| "android_autofill_provider.h", |
| "android_autofill_provider_bridge.h", |
| "android_autofill_provider_bridge_impl.cc", |
| "android_autofill_provider_bridge_impl.h", |
| "form_data_android.cc", |
| "form_data_android.h", |
| "form_data_android_bridge.h", |
| "form_data_android_bridge_impl.cc", |
| "form_data_android_bridge_impl.h", |
| "form_field_data_android.cc", |
| "form_field_data_android.h", |
| "form_field_data_android_bridge.h", |
| "form_field_data_android_bridge_impl.cc", |
| "form_field_data_android_bridge_impl.h", |
| ] |
| public_deps = [ ":browser" ] |
| deps = [ |
| ":features", |
| ":jni_headers", |
| "//components/autofill/android:keyboard_suppressor", |
| "//components/autofill/content/browser", |
| "//components/credential_management:browser", |
| "//components/credential_management/android:browser_sources", |
| "//components/credential_management/android:features", |
| "//components/password_manager/core/browser/form_parsing", |
| "//components/prefs", |
| "//components/security_state/content", |
| "//components/user_prefs", |
| "//components/webauthn/android", |
| "//content/public/browser", |
| "//third_party/jni_zero", |
| "//ui/android", |
| ] |
| } |
| |
| static_library("browser") { |
| sources = [ |
| "android_autofill_manager.cc", |
| "android_autofill_manager.h", |
| "android_form_event_logger.cc", |
| "android_form_event_logger.h", |
| "autofill_provider.cc", |
| "autofill_provider.h", |
| "autofill_type_util.cc", |
| "autofill_type_util.h", |
| ] |
| public_deps = [ "//components/autofill/core/browser" ] |
| deps = [ |
| "//components/autofill/content/browser", |
| "//content/public/browser", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "android_autofill_client_unittest.cc", |
| "android_autofill_provider_unittest.cc", |
| "form_data_android_unittest.cc", |
| "form_event_logger_android_unittest.cc", |
| "form_field_data_android_unittest.cc", |
| ] |
| deps = [ |
| ":android", |
| ":browser", |
| ":features", |
| ":test_support", |
| "//components/autofill/android:keyboard_suppressor", |
| "//components/autofill/content/browser:test_support", |
| "//components/webauthn/android", |
| "//components/webauthn/android:test_support", |
| "//content/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| sources = [ |
| "android_autofill_provider_test_api.h", |
| "form_data_android_test_api.h", |
| "mock_form_data_android_bridge.cc", |
| "mock_form_data_android_bridge.h", |
| "mock_form_field_data_android_bridge.cc", |
| "mock_form_field_data_android_bridge.h", |
| "test_autofill_provider.cc", |
| "test_autofill_provider.h", |
| ] |
| public_deps = [ |
| ":android", |
| ":browser", |
| ] |
| deps = [ |
| "//content/public/browser", |
| "//testing/gmock", |
| ] |
| } |