| Index: ui/aura/mus/window_port_mus.cc
|
| diff --git a/ui/aura/mus/window_port_mus.cc b/ui/aura/mus/window_port_mus.cc
|
| index 305fcfc16b603722063e646d1b5277d4fe8074ba..da1ae155fc2cc98e5f27764f39a5c79bde01a128 100644
|
| --- a/ui/aura/mus/window_port_mus.cc
|
| +++ b/ui/aura/mus/window_port_mus.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/memory/ptr_util.h"
|
| #include "ui/aura/client/aura_constants.h"
|
| #include "ui/aura/client/transient_window_client.h"
|
| +#include "ui/aura/mus/client_surface_embedder.h"
|
| #include "ui/aura/mus/property_converter.h"
|
| #include "ui/aura/mus/surface_id_handler.h"
|
| #include "ui/aura/mus/window_tree_client.h"
|
| @@ -255,10 +256,22 @@ void WindowPortMus::SetSurfaceInfoFromServer(
|
| }
|
| }
|
| WindowPortMus* parent = Get(window_->parent());
|
| + // TODO(mfomitchev): This is unused. We probably don't need this.
|
| if (parent && parent->surface_id_handler_) {
|
| parent->surface_id_handler_->OnChildWindowSurfaceChanged(window_,
|
| surface_info);
|
| }
|
| +
|
| + // The fact that SetSurfaceIdFromServer was called means that this window
|
| + // corresponds to an embedded client.
|
| + if (!client_surface_embedder && surface_info.id().is_valid())
|
| + client_surface_embedder = base::MakeUnique<ClientSurfaceEmbedder>(window_);
|
| +
|
| + if (surface_info.id().is_valid())
|
| + client_surface_embedder->UpdateSurface(surface_info);
|
| + else
|
| + client_surface_embedder.reset();
|
| +
|
| surface_info_ = surface_info;
|
| }
|
|
|
|
|