Index: services/ui/ws/window_tree.cc |
diff --git a/services/ui/ws/window_tree.cc b/services/ui/ws/window_tree.cc |
index ee3cbc149637ace04585064e844d33f06ff1886e..5b7166a65fb5e5309f6f7e0959dd5edcb03a706a 100644 |
--- a/services/ui/ws/window_tree.cc |
+++ b/services/ui/ws/window_tree.cc |
@@ -963,9 +963,14 @@ |
void WindowTree::ProcessWindowSurfaceChanged( |
ServerWindow* window, |
const cc::SurfaceInfo& surface_info) { |
- ClientWindowId client_window_id; |
- if (!IsWindowKnown(window, &client_window_id)) |
- return; |
+ ServerWindow* parent_window = window->parent(); |
+ ClientWindowId client_window_id, parent_client_window_id; |
+ if (!IsWindowKnown(window, &client_window_id) || |
+ !IsWindowKnown(parent_window, &parent_client_window_id) || |
+ !created_window_map_.count(parent_window->id())) { |
+ return; |
+ } |
+ |
client()->OnWindowSurfaceChanged(client_window_id.id, surface_info); |
} |