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 6bb5e41fc0dc6f3f97a04fe27b4ef6f500e91f6e..7cfee1de7b69398d597f503956d7e64c36c34406 100644 |
--- a/ui/aura/mus/window_tree_client.cc |
+++ b/ui/aura/mus/window_tree_client.cc |
@@ -694,6 +694,12 @@ void WindowTreeClient::ScheduleInFlightBoundsChange( |
window->window_mus_type() == WindowMusType::DISPLAY_MANUALLY_CREATED) { |
local_surface_id = window->GetOrAllocateLocalSurfaceId(new_bounds.size()); |
synchronizing_with_child_on_next_frame_ = true; |
+ } else if (window->window_mus_type() == WindowMusType::LOCAL) { |
+ auto id = window->GetOrAllocateLocalSurfaceId(new_bounds.size()); |
+ if (id.is_valid()) { |
+ local_surface_id = id; |
+ synchronizing_with_child_on_next_frame_ = true; |
+ } |
} |
tree_->SetWindowBounds(change_id, window->server_id(), new_bounds, |
local_surface_id); |
@@ -1382,13 +1388,7 @@ void WindowTreeClient::OnWindowSurfaceChanged( |
WindowMus* window = GetWindowByServerId(window_id); |
if (!window) |
return; |
- |
- // If 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. If surface synchronization is enabled, the primary SurfaceInfo |
- // is created by the embedder, and the LocalSurfaceId is allocated by the |
- // embedder. |
- window->SetFallbackSurfaceInfo(surface_info); |
+ window->SetSurfaceInfoFromServer(surface_info); |
} |
void WindowTreeClient::OnDragDropStart( |