| # 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("//third_party/jni_zero/jni_zero.gni") |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "java/src/org/chromium/components/webauthn/Fido2Api.java", |
| "java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java", |
| "java/src/org/chromium/components/webauthn/InternalAuthenticator.java", |
| "java/src/org/chromium/components/webauthn/WebauthnBrowserBridge.java", |
| "java/src/org/chromium/components/webauthn/WebauthnModeProvider.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java", |
| ] |
| } |
| |
| java_cpp_enum("java_enums_srcjar") { |
| sources = [ |
| "//content/browser/webauth/authenticator_request_outcome_enums.h", |
| "cred_man_support.h", |
| "webauthn_mode.h", |
| ] |
| visibility = [ ":*" ] |
| } |
| |
| android_library("java") { |
| srcjar_deps = [ |
| ":java_enums_srcjar", |
| ":jni_headers", |
| ] |
| sources = [ |
| "java/src/org/chromium/components/webauthn/AuthenticationContextProvider.java", |
| "java/src/org/chromium/components/webauthn/AuthenticatorConstants.java", |
| "java/src/org/chromium/components/webauthn/AuthenticatorFactory.java", |
| "java/src/org/chromium/components/webauthn/AuthenticatorImpl.java", |
| "java/src/org/chromium/components/webauthn/Barrier.java", |
| "java/src/org/chromium/components/webauthn/CreateConfirmationUiDelegate.java", |
| "java/src/org/chromium/components/webauthn/Fido2Api.java", |
| "java/src/org/chromium/components/webauthn/Fido2ApiCall.java", |
| "java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java", |
| "java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java", |
| "java/src/org/chromium/components/webauthn/Fido2GetCredentialsComparator.java", |
| "java/src/org/chromium/components/webauthn/FidoErrorResponseCallback.java", |
| "java/src/org/chromium/components/webauthn/FidoIntentSender.java", |
| "java/src/org/chromium/components/webauthn/GetAssertionResponseCallback.java", |
| "java/src/org/chromium/components/webauthn/GetMatchingCredentialIdsResponseCallback.java", |
| "java/src/org/chromium/components/webauthn/GmsCoreUtils.java", |
| "java/src/org/chromium/components/webauthn/GpmBrowserOptionsHelper.java", |
| "java/src/org/chromium/components/webauthn/InternalAuthenticator.java", |
| "java/src/org/chromium/components/webauthn/IsUvpaaResponseCallback.java", |
| "java/src/org/chromium/components/webauthn/MakeCredentialResponseCallback.java", |
| "java/src/org/chromium/components/webauthn/RecordOutcomeCallback.java", |
| "java/src/org/chromium/components/webauthn/WebauthnBrowserBridge.java", |
| "java/src/org/chromium/components/webauthn/WebauthnCredentialDetails.java", |
| "java/src/org/chromium/components/webauthn/WebauthnModeProvider.java", |
| "java/src/org/chromium/components/webauthn/cred_man/AppCredManRequestDecorator.java", |
| "java/src/org/chromium/components/webauthn/cred_man/BrowserCredManRequestDecorator.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManCreateCredentialRequestHelper.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManGetCredentialRequestHelper.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManHelper.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManMetricsHelper.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManRequestDecorator.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManSupportProvider.java", |
| "java/src/org/chromium/components/webauthn/cred_man/CredManUiRecommender.java", |
| "java/src/org/chromium/components/webauthn/cred_man/GpmCredManRequestDecorator.java", |
| ] |
| |
| deps = [ |
| "$google_play_services_package:google_play_services_base_java", |
| "$google_play_services_package:google_play_services_basement_java", |
| "$google_play_services_package:google_play_services_tasks_java", |
| "//base:base_java", |
| "//base:service_loader_java", |
| "//base/version_info/android:version_constants_java", |
| "//build/android:build_java", |
| "//components/externalauth/android:java", |
| "//components/ukm/android:java", |
| "//content/public/android:content_java", |
| "//content/public/common:common_java", |
| "//mojo/public/java:bindings_java", |
| "//mojo/public/java:system_java", |
| "//mojo/public/mojom/base:base_java", |
| "//net/android:net_java", |
| "//services/device/public/java:device_feature_list_java", |
| "//services/service_manager/public/java:service_manager_java", |
| "//third_party/androidx:androidx_annotation_annotation_experimental_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_core_core_java", |
| "//third_party/blink/public/common:common_java", |
| "//third_party/blink/public/mojom:android_mojo_bindings_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//ui/android:ui_no_recycler_view_java", |
| "//url:gurl_java", |
| "//url/mojom:url_mojom_gurl_java", |
| "//url/mojom:url_mojom_origin_java", |
| ] |
| |
| resources_package = "org.chromium.components.webauthn" |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "mock_webauthn_cred_man_delegate.cc", |
| "mock_webauthn_cred_man_delegate.h", |
| "webauthn_cred_man_delegate_factory_test_api.h", |
| ] |
| deps = [ |
| ":android", |
| "//base:base", |
| "//testing/gmock", |
| ] |
| } |
| |
| android_library("test_support_java") { |
| testonly = true |
| sources = [ |
| "java/src/org/chromium/components/webauthn/Fido2ApiTestHelper.java", |
| "java/src/org/chromium/components/webauthn/MockFido2CredentialRequest.java", |
| ] |
| deps = [ |
| ":java", |
| "//base:base_java_test_support", |
| "//components/payments/content/android:feature_list_java", |
| "//components/payments/mojom:mojom_java", |
| "//content/public/android:content_java", |
| "//mojo/public/mojom/base:base_java", |
| "//third_party/android_deps:guava_android_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/blink/public/mojom:android_mojo_bindings_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//third_party/junit:junit", |
| "//url:gurl_java", |
| "//url/mojom:url_mojom_gurl_java", |
| "//url/mojom:url_mojom_origin_java", |
| ] |
| } |
| |
| source_set("android") { |
| sources = [ |
| "cred_man_support.h", |
| "fido2api_native_android.cc", |
| "fido2credentialrequest_native_android.cc", |
| "internal_authenticator_android.cc", |
| "internal_authenticator_android.h", |
| "webauthn_browser_bridge.cc", |
| "webauthn_browser_bridge.h", |
| "webauthn_client_android.cc", |
| "webauthn_client_android.h", |
| "webauthn_cred_man_delegate.cc", |
| "webauthn_cred_man_delegate.h", |
| "webauthn_cred_man_delegate_factory.cc", |
| "webauthn_cred_man_delegate_factory.h", |
| "webauthn_mode.h", |
| "webauthn_mode_provider.cc", |
| ] |
| deps = [ |
| ":jni_headers", |
| "//base", |
| "//components/cbor", |
| "//components/ukm/android:ukm_recorder", |
| "//components/webauthn/core/browser", |
| "//components/webauthn/json", |
| "//content/public/browser", |
| "//device/fido", |
| "//third_party/blink/public/mojom:android_mojo_bindings_blink", |
| "//third_party/boringssl", |
| "//url", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "webauthn_cred_man_delegate_factory_unittest.cc", |
| "webauthn_cred_man_delegate_unittest.cc", |
| ] |
| deps = [ |
| ":android", |
| "//base/test:test_support", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| robolectric_library("junit") { |
| sources = [ |
| "junit/src/org/chromium/components/webauthn/AuthenticatorImplTest.java", |
| "junit/src/org/chromium/components/webauthn/BarrierTest.java", |
| "junit/src/org/chromium/components/webauthn/Fido2CredentialRequestRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/Fido2GetCredentialsComparatorRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/WebauthnModeProviderRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/CredManCreateCredentialRequestHelperRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/CredManGetCredentialRequestHelperRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/CredManHelperRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/GpmCredManRequestDecoratorRobolectricTest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowCreateCredentialException.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowCreateCredentialRequest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowCreateCredentialResponse.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowCredential.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowCredentialManager.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowCredentialOption.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowGetCredentialException.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowGetCredentialRequest.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowGetCredentialResponse.java", |
| "junit/src/org/chromium/components/webauthn/cred_man/ShadowPrepareGetCredentialResponse.java", |
| ] |
| deps = [ |
| ":java", |
| ":test_support_java", |
| "$google_play_services_package:google_play_services_tasks_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:base_junit_test_support", |
| "//components/payments/content/android:junit_test_support", |
| "//content/public/android:content_java", |
| "//mojo/public/mojom/base:base_java", |
| "//net/android:net_java", |
| "//services/device/public/java:device_feature_list_java", |
| "//third_party/androidx:androidx_test_core_java", |
| "//third_party/androidx:androidx_test_runner_java", |
| "//third_party/blink/public/common:common_java", |
| "//third_party/blink/public/mojom:android_mojo_bindings_java", |
| "//third_party/google-truth:google_truth_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//third_party/junit", |
| "//third_party/mockito:mockito_java", |
| "//ui/android:ui_no_recycler_view_java", |
| "//url:gurl_java", |
| ] |
| } |