diff options
Diffstat (limited to 'chromium/ui/ozone/platform/wayland/host/xdg_popup_wrapper_impl.h')
-rw-r--r-- | chromium/ui/ozone/platform/wayland/host/xdg_popup_wrapper_impl.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/chromium/ui/ozone/platform/wayland/host/xdg_popup_wrapper_impl.h b/chromium/ui/ozone/platform/wayland/host/xdg_popup_wrapper_impl.h index 371f18157d7..c0479cfff7f 100644 --- a/chromium/ui/ozone/platform/wayland/host/xdg_popup_wrapper_impl.h +++ b/chromium/ui/ozone/platform/wayland/host/xdg_popup_wrapper_impl.h @@ -23,19 +23,20 @@ class XDGPopupWrapperImpl : public ShellPopupWrapper { ~XDGPopupWrapperImpl() override; // XDGPopupWrapper: - bool InitializeStable(WaylandConnection* connection, - wl_surface* surface, - WaylandWindow* parent_window, - const gfx::Rect& bounds); - bool InitializeV6(WaylandConnection* connection, - wl_surface* surface, - WaylandWindow* parent_window, - const gfx::Rect& bounds); + bool Initialize(WaylandConnection* connection, + const gfx::Rect& bounds) override; private: + bool InitializeStable(WaylandConnection* connection, + const gfx::Rect& bounds, + XDGSurfaceWrapperImpl* parent_xdg_surface); struct xdg_positioner* CreatePositionerStable(WaylandConnection* connection, WaylandWindow* parent_window, const gfx::Rect& bounds); + + bool InitializeV6(WaylandConnection* connection, + const gfx::Rect& bounds, + XDGSurfaceWrapperImpl* parent_xdg_surface); struct zxdg_positioner_v6* CreatePositionerV6(WaylandConnection* connection, WaylandWindow* parent_window, const gfx::Rect& bounds); @@ -64,9 +65,15 @@ class XDGPopupWrapperImpl : public ShellPopupWrapper { XDGSurfaceWrapperImpl* xdg_surface(); + // Non-owned WaylandWindow that uses this popup. WaylandWindow* const wayland_window_; + + // Ground surface for this popup. std::unique_ptr<XDGSurfaceWrapperImpl> xdg_surface_; + + // XDG Shell Stable object. wl::Object<xdg_popup> xdg_popup_; + // XDG Shell V6 object. wl::Object<zxdg_popup_v6> zxdg_popup_v6_; DISALLOW_COPY_AND_ASSIGN(XDGPopupWrapperImpl); |