1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "WebAuthnResult.h"
8 #ifdef MOZ_WIDGET_ANDROID
9 namespace mozilla::jni
{
12 RefPtr
<dom::WebAuthnRegisterResult
> Java2Native(
13 mozilla::jni::Object::Param aData
, JNIEnv
* aEnv
) {
15 aData
.IsInstanceOf
<java::WebAuthnTokenManager::MakeCredentialResponse
>());
16 java::WebAuthnTokenManager::MakeCredentialResponse::LocalRef
response(aData
);
17 RefPtr
<dom::WebAuthnRegisterResult
> result
=
18 new dom::WebAuthnRegisterResult(response
);
23 RefPtr
<dom::WebAuthnSignResult
> Java2Native(mozilla::jni::Object::Param aData
,
26 aData
.IsInstanceOf
<java::WebAuthnTokenManager::GetAssertionResponse
>());
27 java::WebAuthnTokenManager::GetAssertionResponse::LocalRef
response(aData
);
28 RefPtr
<dom::WebAuthnSignResult
> result
=
29 new dom::WebAuthnSignResult(response
);
33 } // namespace mozilla::jni
36 namespace mozilla::dom
{
38 NS_IMPL_ISUPPORTS(WebAuthnRegisterResult
, nsIWebAuthnRegisterResult
)
41 WebAuthnRegisterResult::GetClientDataJSON(nsACString
& aClientDataJSON
) {
42 aClientDataJSON
= mClientDataJSON
;
47 WebAuthnRegisterResult::GetAttestationObject(
48 nsTArray
<uint8_t>& aAttestationObject
) {
49 aAttestationObject
.Assign(mAttestationObject
);
54 WebAuthnRegisterResult::GetCredentialId(nsTArray
<uint8_t>& aCredentialId
) {
55 aCredentialId
.Assign(mCredentialId
);
60 WebAuthnRegisterResult::GetTransports(nsTArray
<nsString
>& aTransports
) {
61 aTransports
.Assign(mTransports
);
66 WebAuthnRegisterResult::GetCredPropsRk(bool* aCredPropsRk
) {
67 if (mCredPropsRk
.isSome()) {
68 *aCredPropsRk
= mCredPropsRk
.ref();
71 return NS_ERROR_NOT_AVAILABLE
;
75 WebAuthnRegisterResult::SetCredPropsRk(bool aCredPropsRk
) {
76 mCredPropsRk
= Some(aCredPropsRk
);
81 WebAuthnRegisterResult::GetAuthenticatorAttachment(
82 nsAString
& aAuthenticatorAttachment
) {
83 if (mAuthenticatorAttachment
.isSome()) {
84 aAuthenticatorAttachment
= mAuthenticatorAttachment
.ref();
87 return NS_ERROR_NOT_AVAILABLE
;
90 NS_IMPL_ISUPPORTS(WebAuthnSignResult
, nsIWebAuthnSignResult
)
93 WebAuthnSignResult::GetClientDataJSON(nsACString
& aClientDataJSON
) {
94 aClientDataJSON
= mClientDataJSON
;
99 WebAuthnSignResult::GetAuthenticatorData(
100 nsTArray
<uint8_t>& aAuthenticatorData
) {
101 aAuthenticatorData
.Assign(mAuthenticatorData
);
106 WebAuthnSignResult::GetCredentialId(nsTArray
<uint8_t>& aCredentialId
) {
107 aCredentialId
.Assign(mCredentialId
);
112 WebAuthnSignResult::GetSignature(nsTArray
<uint8_t>& aSignature
) {
113 aSignature
.Assign(mSignature
);
118 WebAuthnSignResult::GetUserHandle(nsTArray
<uint8_t>& aUserHandle
) {
119 aUserHandle
.Assign(mUserHandle
);
124 WebAuthnSignResult::GetUserName(nsACString
& aUserName
) {
125 return NS_ERROR_NOT_AVAILABLE
;
129 WebAuthnSignResult::GetUsedAppId(bool* aUsedAppId
) {
130 return NS_ERROR_NOT_AVAILABLE
;
134 WebAuthnSignResult::GetAuthenticatorAttachment(
135 nsAString
& aAuthenticatorAttachment
) {
136 if (mAuthenticatorAttachment
.isSome()) {
137 aAuthenticatorAttachment
= mAuthenticatorAttachment
.ref();
140 return NS_ERROR_NOT_AVAILABLE
;
143 } // namespace mozilla::dom