// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_VIEWS_WEBAUTHN_AUTHENTICATOR_REQUEST_DIALOG_VIEW_H_ #define CHROME_BROWSER_UI_VIEWS_WEBAUTHN_AUTHENTICATOR_REQUEST_DIALOG_VIEW_H_ #include <memory> #include "base/memory/raw_ptr.h" #include "chrome/browser/webauthn/authenticator_request_dialog_model.h" #include "content/public/browser/web_contents_observer.h" #include "ui/base/metadata/metadata_header_macros.h" #include "ui/base/mojom/dialog_button.mojom.h" #include "ui/views/controls/menu/menu_runner.h" #include "ui/views/window/dialog_delegate.h" namespace content { class WebContents; } namespace test { class AuthenticatorRequestDialogViewTestApi; } class AuthenticatorRequestSheetView; // A tab-modal dialog shown while a Web Authentication API request is active. // // This UI first allows the user the select the transport protocol they wish to // use to connect their security key (either USB, BLE, NFC, or internal), and // then guides them through the flow of setting up their security key using the // selecting transport protocol, and finally shows success/failure indications. // // The dialog view may be destroyed and recreated multiple times during the // lifetime of a single WebAuthn request. // // Note that as a DialogDelegateView, AuthenticatorRequestDialogView is // eventually deleted when DeleteDelegate() is called. class AuthenticatorRequestDialogView : public views::DialogDelegateView, public AuthenticatorRequestDialogModel::Observer, public content::WebContentsObserver { … }; #endif // CHROME_BROWSER_UI_VIEWS_WEBAUTHN_AUTHENTICATOR_REQUEST_DIALOG_VIEW_H_