Index: services/ui/ws/window_server.cc |
diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc |
index 812240dfd1267bead665f2862d3d10c3597d7445..e996989ee00e5ff85a226312d28286ebd968af05 100644 |
--- a/services/ui/ws/window_server.cc |
+++ b/services/ui/ws/window_server.cc |
@@ -868,10 +868,9 @@ void WindowServer::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { |
HandleTemporaryReferenceForNewSurface(surface_info.id(), window); |
kylechar
2017/06/07 17:18:48
There is a heuristic here to find the embedder whe
kylechar
2017/06/07 17:55:15
It looks like the heuristic is broken anyways. I'l
|
- 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); |
} |