Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Defer calling WaylandToplevelWindow::InitializeAuraShell()
... until the respective XDG surface is initialized. The current call to WaylandToplevelWindow::InitializeAuraShell() is not effective on Exo. Basically, this method was being called prior to the respective XDG surface got properly initialized on Exo. Problem: 1) Lacros calls aura_surface_set_fullscreen_mode(), and Exo should processes the call like below: #1 exo::ShellSurfaceBase::SetUseImmersiveForFullscreen() #2 exo::Surface::SetUseImmersiveForFullscreen() #3 exo::wayland::AuraSurface::SetFullscreenMode() #4 exo::wayland::(anonymous namespace)::aura_surface_set_fullscreen_mode() 2) However, on frame #2, |exo::Surface::delegate_| was still NIL, and the call got bailed out. 3) |exo::Surface::delegate_| only gets assigned when Exo processes the call to xdg_wm_base_get_xdg_surface(), from the client side. #1 0x5563f0dbb100 exo::Surface::SetSurfaceDelegate() #2 0x5563f0dc1e33 exo::SurfaceTreeHost::SetRootSurface() #3 0x5563f0e02a23 exo::ShellSurfaceBase::ShellSurfaceBase() #4 0x5563f0dfdc65 exo::ShellSurface::ShellSurface() #5 0x5563f0e0f47f exo::XdgShellSurface::XdgShellSurface() #6 0x5563f0d95561 exo::Display::CreateXdgShellSurface() #7 0x5563ecbed19a exo::wayland::(anonymous namespace)::xdg_wm_base_get_xdg_surface() CL fixes this by making the call to InitializeAuraShell() only take place once the respective XDGSurface is initialized. This is a fixup! of https://crrev.com/c/2353116. BUG=1113900 R=msisov@igalia.com Change-Id: I4169d30545238abf2ad46eaef9677a846d58c6f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2566346 Commit-Queue: Antonio Gomes <tonikitoo@igalia.com> Reviewed-by: Maksim Sisov (GMT+2) <msisov@igalia.com> Auto-Submit: Antonio Gomes <tonikitoo@igalia.com> Cr-Commit-Position: refs/heads/master@{#832825}
- Loading branch information