Index: services/ui/ws/window_server.cc |
diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc |
index cebc3c53139d052d3a93a878c3db4ae085d245f6..0522597b427915a99579a08b9605119fcb4f0980 100644 |
--- a/services/ui/ws/window_server.cc |
+++ b/services/ui/ws/window_server.cc |
@@ -886,10 +886,9 @@ void WindowServer::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { |
HandleTemporaryReferenceForNewSurface(surface_info.id(), window); |
- if (!window->parent()) |
- return; |
- |
- WindowTree* window_tree = GetTreeWithId(window->parent()->id().client_id); |
+ // We always use the owner of the window's id (even for embedded window), |
+ // because an embedded window's id is allocated by the parent's window tree. |
+ WindowTree* window_tree = GetTreeWithId(window->id().client_id); |
if (window_tree) |
window_tree->ProcessWindowSurfaceChanged(window, surface_info); |
} |