// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_OZONE_PLATFORM_WAYLAND_HOST_SHELL_POPUP_WRAPPER_H_ #define UI_OZONE_PLATFORM_WAYLAND_HOST_SHELL_POPUP_WRAPPER_H_ #include <cstdint> #include <optional> #include "ui/base/owned_window_anchor.h" #include "ui/base/ui_base_types.h" #include "ui/gfx/geometry/rect.h" #include "ui/ozone/platform/wayland/common/wayland_object.h" #include "ui/platform_window/platform_window_init_properties.h" namespace ui { class WaylandConnection; class XDGPopupWrapperImpl; struct ShellPopupParams { … }; // Wrapper interface for shell popups. // // This is one of three wrapper classes: Shell{Surface,Toplevel,Popup}Wrapper. // It has the only sub-class in Chromium, but should not be removed because it // eases downstream implementations. // See https://crbug.com/1402672 // // Allows WaylandPopup to do stuff specific to popups, such as anchoring the // window and grabbing the pointer. class ShellPopupWrapper { … }; } // namespace ui #endif // UI_OZONE_PLATFORM_WAYLAND_HOST_SHELL_POPUP_WRAPPER_H_