Name Description Size
AndroidWebAuthnService.cpp 16227
AndroidWebAuthnService.h 3467
AuthenticatorAssertionResponse.cpp 5953
AuthenticatorAssertionResponse.h 2188
AuthenticatorAttestationResponse.cpp anonymize 8004
AuthenticatorAttestationResponse.h 2404
AuthenticatorResponse.cpp 1738
AuthenticatorResponse.h 1493
authrs_bridge
AuthrsBridge_ffi.h 695
components.conf 549
libudev-sys
MacOSWebAuthnService.h 682
MacOSWebAuthnService.mm 52984
metrics.yaml 3394
moz.build 2329
nsIWebAuthnArgs.idl 4127
nsIWebAuthnAttObj.idl 806
nsIWebAuthnPromise.idl 792
nsIWebAuthnResult.idl 2492
nsIWebAuthnService.idl 5965
PublicKeyCredential.cpp static 13464
PublicKeyCredential.h 3312
PWebAuthnTransaction.ipdl IPC Transaction protocol for the WebAuthn DOM API. This IPC protocol allows the content process to call to the parent to access hardware for authentication registration and challenges. All transactions start in the child process, and the parent replies with a "Confirm*" message, or a "Cancel" message if there was an error (no hardware available, no registered keys, etc) or interruption (another transaction was started in another content process). Similarly, the content process can also request a cancel, either triggered explicitly by the user/script or due to UI events like selecting a different tab. 4077
tests
WebAuthnArgs.cpp 6948
WebAuthnArgs.h 2806
WebAuthnAutoFillEntry.cpp 858
WebAuthnAutoFillEntry.h 1585
WebAuthnCoseIdentifiers.h 716
WebAuthnEnumStrings.h 2542
WebAuthnManager.cpp Statics ******************************************************************** 32661
WebAuthnManager.h Content process manager for the WebAuthn protocol. Created on calls to the WebAuthentication DOM object, this manager handles establishing IPC channels for WebAuthn transactions, as well as keeping track of JS Promise objects representing transactions in flight. The WebAuthn spec (https://www.w3.org/TR/webauthn/) allows for two different types of transactions: registration and signing. When either of these is requested via the DOM API, the following steps are executed in the WebAuthnManager: - Validation of the request. Return a failed promise to js if request does not have correct parameters. - If request is valid, open a new IPC channel for running the transaction. If another transaction is already running in this content process, cancel it. Return a pending promise to js. - Send transaction information to parent process (by running the Start* functions of WebAuthnManager). Assuming another transaction is currently in flight in another content process, parent will handle canceling it. - On return of successful transaction information from parent process, turn information into DOM object format required by spec, and resolve promise (by running the Finish* functions of WebAuthnManager). On cancellation request from parent, reject promise with corresponding error code. Either outcome will also close the IPC channel. 5751
WebAuthnManagerBase.cpp IPC Protocol Implementation ******************************************************************** 1989
WebAuthnManagerBase.h A base class used by WebAuthn and U2F implementations, providing shared functionality and requiring an interface used by the IPC child actors. 1804
WebAuthnPromiseHolder.cpp 2889
WebAuthnPromiseHolder.h WebAuthnRegisterPromiseHolder and WebAuthnSignPromiseHolder wrap a MozPromiseHolder with an XPCOM interface that allows the contained promise to be resolved, rejected, or disconnected safely from any thread. Calls to Resolve(), Reject(), and Disconnect() are dispatched to the serial event target with wich the promise holder was initialized. At most one of these calls will be processed; the first call to reach the event target wins. Once the promise is initialized with Ensure() the program MUST call at least one of Resolve(), Reject(), or Disconnect(). 2268
WebAuthnResult.cpp anonymize 5866
WebAuthnResult.h 8556
WebAuthnService.cpp 12977
WebAuthnService.h 2845
WebAuthnTransactionChild.cpp 3265
WebAuthnTransactionChild.h Child process IPC implementation for WebAuthn API. Receives results of WebAuthn transactions from the parent process, and sends them to the WebAuthnManager either cancel the transaction, or be formatted and relayed to content. 2087
WebAuthnTransactionParent.cpp 15054
WebAuthnTransactionParent.h Parent process IPC implementation for WebAuthn. 1900
WebAuthnTransportIdentifiers.h 764
WebAuthnUtil.cpp in/out 4714
WebAuthnUtil.h Utility functions used by both WebAuthnManager and U2FTokenManager. 861
winwebauthn
WinWebAuthnService.cpp WinWebAuthnService Implementation ******************************************************************** 39580
WinWebAuthnService.h 1589