// Copyright 2023 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_PERMISSIONS_EMBEDDED_PERMISSION_PROMPT_BASE_VIEW_H_ #define CHROME_BROWSER_UI_VIEWS_PERMISSIONS_EMBEDDED_PERMISSION_PROMPT_BASE_VIEW_H_ #include <string> #include "base/memory/raw_ptr.h" #include "chrome/browser/ui/views/permissions/embedded_permission_prompt_view_delegate.h" #include "chrome/browser/ui/views/permissions/permission_prompt_base_view.h" #include "components/favicon_base/favicon_types.h" #include "components/permissions/features.h" #include "components/permissions/permission_prompt.h" #include "ui/base/interaction/element_identifier.h" #include "ui/base/metadata/metadata_header_macros.h" #include "ui/base/ui_base_types.h" #include "ui/gfx/vector_icon_types.h" #include "ui/views/controls/styled_label.h" #include "ui/views/layout/flex_layout_view.h" class Browser; // Base view used for embedded permission prompts dialogs. // It looks like this: // // |-------------------------------------------------| // | [X]| // | Title (optional) | // |-------------------------------------------------| // |Icon1(optional)|RequestMessage1 | // |Icon2(optional)|RequestMessage2 | // |... | // |-------------------------------------------------| // | Button1 | // | Button2 | // | ... | // |-------------------------------------------------| // Subclasses need to implement at least: // GetRequestLinesConfiguration - provides the info for the main body of the // prompt. // GetButtonsConfiguration - provides the info for the buttons section. // RunButtonCallback - called when a button is pressed. // GetWindowTitle/GetAccessibleWindowTitle - inherited from // views::BubbleDialogDelegateView. class EmbeddedPermissionPromptBaseView : public PermissionPromptBaseView { … }; #endif // CHROME_BROWSER_UI_VIEWS_PERMISSIONS_EMBEDDED_PERMISSION_PROMPT_BASE_VIEW_H_