Bug 1854550 - pt 2. Move PHC into memory/build r=glandium
[gecko.git] / dom / webauthn / WebAuthnResult.cpp
blob0d23fb9263cc5da7b00f9bf20787d1a385a58c31
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/. */
5 #include "nsString.h"
6 #include "WebAuthnResult.h"
8 #ifdef MOZ_WIDGET_ANDROID
9 namespace mozilla::jni {
11 template <>
12 RefPtr<dom::WebAuthnRegisterResult> Java2Native(
13 mozilla::jni::Object::Param aData, JNIEnv* aEnv) {
14 MOZ_ASSERT(
15 aData.IsInstanceOf<java::WebAuthnTokenManager::MakeCredentialResponse>());
16 java::WebAuthnTokenManager::MakeCredentialResponse::LocalRef response(aData);
17 RefPtr<dom::WebAuthnRegisterResult> result =
18 new dom::WebAuthnRegisterResult(response);
19 return result;
22 template <>
23 RefPtr<dom::WebAuthnSignResult> Java2Native(mozilla::jni::Object::Param aData,
24 JNIEnv* aEnv) {
25 MOZ_ASSERT(
26 aData.IsInstanceOf<java::WebAuthnTokenManager::GetAssertionResponse>());
27 java::WebAuthnTokenManager::GetAssertionResponse::LocalRef response(aData);
28 RefPtr<dom::WebAuthnSignResult> result =
29 new dom::WebAuthnSignResult(response);
30 return result;
33 } // namespace mozilla::jni
34 #endif
36 namespace mozilla::dom {
38 NS_IMPL_ISUPPORTS(WebAuthnRegisterResult, nsIWebAuthnRegisterResult)
40 NS_IMETHODIMP
41 WebAuthnRegisterResult::GetClientDataJSON(nsACString& aClientDataJSON) {
42 aClientDataJSON = mClientDataJSON;
43 return NS_OK;
46 NS_IMETHODIMP
47 WebAuthnRegisterResult::GetAttestationObject(
48 nsTArray<uint8_t>& aAttestationObject) {
49 aAttestationObject.Assign(mAttestationObject);
50 return NS_OK;
53 NS_IMETHODIMP
54 WebAuthnRegisterResult::GetCredentialId(nsTArray<uint8_t>& aCredentialId) {
55 aCredentialId.Assign(mCredentialId);
56 return NS_OK;
59 NS_IMETHODIMP
60 WebAuthnRegisterResult::GetTransports(nsTArray<nsString>& aTransports) {
61 aTransports.Assign(mTransports);
62 return NS_OK;
65 NS_IMETHODIMP
66 WebAuthnRegisterResult::GetCredPropsRk(bool* aCredPropsRk) {
67 if (mCredPropsRk.isSome()) {
68 *aCredPropsRk = mCredPropsRk.ref();
69 return NS_OK;
71 return NS_ERROR_NOT_AVAILABLE;
74 NS_IMETHODIMP
75 WebAuthnRegisterResult::SetCredPropsRk(bool aCredPropsRk) {
76 mCredPropsRk = Some(aCredPropsRk);
77 return NS_OK;
80 NS_IMETHODIMP
81 WebAuthnRegisterResult::GetAuthenticatorAttachment(
82 nsAString& aAuthenticatorAttachment) {
83 if (mAuthenticatorAttachment.isSome()) {
84 aAuthenticatorAttachment = mAuthenticatorAttachment.ref();
85 return NS_OK;
87 return NS_ERROR_NOT_AVAILABLE;
90 NS_IMPL_ISUPPORTS(WebAuthnSignResult, nsIWebAuthnSignResult)
92 NS_IMETHODIMP
93 WebAuthnSignResult::GetClientDataJSON(nsACString& aClientDataJSON) {
94 aClientDataJSON = mClientDataJSON;
95 return NS_OK;
98 NS_IMETHODIMP
99 WebAuthnSignResult::GetAuthenticatorData(
100 nsTArray<uint8_t>& aAuthenticatorData) {
101 aAuthenticatorData.Assign(mAuthenticatorData);
102 return NS_OK;
105 NS_IMETHODIMP
106 WebAuthnSignResult::GetCredentialId(nsTArray<uint8_t>& aCredentialId) {
107 aCredentialId.Assign(mCredentialId);
108 return NS_OK;
111 NS_IMETHODIMP
112 WebAuthnSignResult::GetSignature(nsTArray<uint8_t>& aSignature) {
113 aSignature.Assign(mSignature);
114 return NS_OK;
117 NS_IMETHODIMP
118 WebAuthnSignResult::GetUserHandle(nsTArray<uint8_t>& aUserHandle) {
119 aUserHandle.Assign(mUserHandle);
120 return NS_OK;
123 NS_IMETHODIMP
124 WebAuthnSignResult::GetUserName(nsACString& aUserName) {
125 return NS_ERROR_NOT_AVAILABLE;
128 NS_IMETHODIMP
129 WebAuthnSignResult::GetUsedAppId(bool* aUsedAppId) {
130 return NS_ERROR_NOT_AVAILABLE;
133 NS_IMETHODIMP
134 WebAuthnSignResult::GetAuthenticatorAttachment(
135 nsAString& aAuthenticatorAttachment) {
136 if (mAuthenticatorAttachment.isSome()) {
137 aAuthenticatorAttachment = mAuthenticatorAttachment.ref();
138 return NS_OK;
140 return NS_ERROR_NOT_AVAILABLE;
143 } // namespace mozilla::dom