Fix two bugs affecting starting caBLE discovery.
The first bug is that the WebAuthn dialog is never shown if caBLE is enabled but the |cable_extension| is not provided in the GetAssertion request. It's because GetAssertionRequestHandler's constructor will not actually create and start a FidoCableDiscovery if the request is missing the |cable_extension| data, while FidoRequestHandlerBase's barrier closure will still wait for the discovery to start the transport protocol is marked available in |available_transports|. The second bug is that caBLE will not be used for a GetAssertion request if the same web page already issued a MakeCredential request before. This is because AuthenticatorImpl::MakeCredential will remove caBLE from |protocols_|. However, the same AuthenticatorImpl instance will be used to service the GetAssertionRequest, which will already see a trimmed list of |protocols_| without caBLE, and pass it to GetAssertionRequestHandler. Bug: 878877 Change-Id: I6b7c915fc0de63e6da29399825071734405e424c Reviewed-on: https://chromium-review.googlesource.com/1194040Reviewed-by:Chris Palmer <palmer@chromium.org> Reviewed-by:
Kim Paulhamus <kpaulhamus@chromium.org> Commit-Queue: Balazs Engedy <engedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#587355}
Showing
This diff is collapsed.
Please register or sign in to comment