Index: ui/aura/mus/window_tree_client.cc |
diff --git a/ui/aura/mus/window_tree_client.cc b/ui/aura/mus/window_tree_client.cc |
index c3bdece523a654b38ceff5cfb6df6c1b0b94852b..962ca17548696de081739af417d3c9249c5e8d1a 100644 |
--- a/ui/aura/mus/window_tree_client.cc |
+++ b/ui/aura/mus/window_tree_client.cc |
@@ -1300,7 +1300,16 @@ void WindowTreeClient::OnWindowSurfaceChanged( |
WindowMus* window = GetWindowByServerId(window_id); |
if (!window) |
return; |
- window->SetPrimarySurfaceInfo(surface_info); |
+ if (enable_surface_synchronization_) { |
+ // If surface synchronization is enabled, and the parent is informed |
+ // of a child's surface then that surface ID is guaranteed to be available |
+ // in the display compositor so we set it as the fallback. |
+ window->SetFallbackSurfaceInfo(surface_info); |
+ } else { |
+ // If surface synchronization is disabled, fallback SurfaceInfos are never |
+ // used. |
+ window->SetPrimarySurfaceInfo(surface_info); |
+ } |
} |
void WindowTreeClient::OnDragDropStart( |