WebAuthenticationPanelClient.h [plain text]
#pragma once
#if ENABLE(WEB_AUTHN)
#import "WKFoundation.h"
#import "APIWebAuthenticationPanelClient.h"
#import <wtf/RetainPtr.h>
#import <wtf/WeakObjCPtr.h>
#import <wtf/WeakPtr.h>
@class _WKWebAuthenticationPanel;
@protocol _WKWebAuthenticationPanelDelegate;
namespace WebKit {
class WebAuthenticationPanelClient final : public API::WebAuthenticationPanelClient, public CanMakeWeakPtr<WebAuthenticationPanelClient> {
public:
WebAuthenticationPanelClient(_WKWebAuthenticationPanel *, id <_WKWebAuthenticationPanelDelegate>);
RetainPtr<id <_WKWebAuthenticationPanelDelegate> > delegate();
private:
void updatePanel(WebAuthenticationStatus) const final;
void dismissPanel(WebAuthenticationResult) const final;
void requestPin(uint64_t, CompletionHandler<void(const WTF::String&)>&&) const final;
void selectAssertionResponse(Vector<Ref<WebCore::AuthenticatorAssertionResponse>>&&, WebAuthenticationSource, CompletionHandler<void(WebCore::AuthenticatorAssertionResponse*)>&&) const final;
void decidePolicyForLocalAuthenticator(CompletionHandler<void(LocalAuthenticatorPolicy)>&&) const final;
void requestLAContextForUserVerification(CompletionHandler<void(LAContext *)>&&) const final;
_WKWebAuthenticationPanel *m_panel;
WeakObjCPtr<id <_WKWebAuthenticationPanelDelegate> > m_delegate;
struct {
bool panelUpdateWebAuthenticationPanel : 1;
bool panelDismissWebAuthenticationPanelWithResult : 1;
bool panelRequestPinWithRemainingRetriesCompletionHandler : 1;
bool panelSelectAssertionResponseSourceCompletionHandler : 1;
bool panelDecidePolicyForLocalAuthenticatorCompletionHandler : 1;
bool panelRequestLAContextForUserVerificationCompletionHandler : 1;
} m_delegateMethods;
};
}
#endif // ENABLE(WEB_AUTHN)