Index: services/ui/ws/window_server.cc |
diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc |
index d012b886dc2f0bc50ecc2246398ff6bcdc5aef36..140df0b5c308036fd267acd92eea38d159d62dae 100644 |
--- a/services/ui/ws/window_server.cc |
+++ b/services/ui/ws/window_server.cc |
@@ -826,7 +826,10 @@ void WindowServer::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { |
window_paint_callback_.Run(window); |
auto* display = display_manager_->GetDisplayContaining(window); |
- if (display && window == display->GetActiveRootWindow()) { |
+ const bool match1 = (display && window == display->GetActiveRootWindow()); |
+ const bool match2 = |
+ (display && window->parent() == display->GetActiveRootWindow()); |
+ if (match1 || match2) { |
// A new surface for a WindowManager root has been created. This is a |
// special case because ServerWindows created by the WindowServer are not |
// part of a WindowTree. Send the SurfaceId directly to FrameGenerator and |