// 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_SHEET_VIEW_H_ #define CHROME_BROWSER_UI_VIEWS_WEBAUTHN_AUTHENTICATOR_REQUEST_SHEET_VIEW_H_ #include <memory> #include <utility> #include "base/memory/raw_ptr.h" #include "ui/base/metadata/metadata_header_macros.h" #include "ui/views/view.h" namespace views { class AnimatedImageView; class Label; } // namespace views class AuthenticatorRequestSheetModel; class NonAccessibleImageView; // Defines the basic structure of sheets shown in the authenticator request // dialog. Each sheet corresponds to a given step of the authentication flow, // and encapsulates the controls above the Ok/Cancel buttons, namely: // -- an optional progress-bar-style activity indicator (at the top), // -- an optional `back icon`, // -- a pretty illustration in the top half of the dialog, // -- the title of the current step, // -- the description of the current step, // -- an optional view with step-specific content, added by subclasses, filling // the rest of the space, and // -- an optional contextual error. // // +-------------------------------------------------+ // |*************************************************| // |. (<-). . . . . . . . . . . . . . . . . . . . . .| // |. . . . I L L U S T R A T I O N H E R E . . . .| // |. . . . . . . . . . . . . . . . . . . . . . . . .| // | | // | +---------------------------------------------+ | // | | optional Step-specific header view | | // | +---------------------------------------------+ | // | | // | Title of the current step | // | | // | Description text explaining to the user what | // | this step is all about. | // | | // | +---------------------------------------------+ | // | | | | // | | Step-specific content view | | // | | | | // | | | | // | +---------------------------------------------+ | // | optional contextual error | // +-------------------------------------------------+ // | OK CANCEL | <- Not part of this view. // +-------------------------------------------------+ // // TODO(crbug.com/41394359): The Web Authentication and Web Payment APIs // both use the concept of showing multiple "sheets" in a single dialog. To // avoid code duplication, consider factoring out common parts. class AuthenticatorRequestSheetView : public views::View { … }; #endif // CHROME_BROWSER_UI_VIEWS_WEBAUTHN_AUTHENTICATOR_REQUEST_SHEET_VIEW_H_