| 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 8f7aa82d3847ae808b091b13292475694ff6680e..e8eb176d658945687588df3b2758f123cb437f46 100644
|
| --- a/ui/aura/mus/window_port_mus.cc
|
| +++ b/ui/aura/mus/window_port_mus.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #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::SetSurfaceIdFromServer(
|
| }
|
| }
|
| 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)
|
| + client_surface_embedder = base::MakeUnique<ClientSurfaceEmbedder>(window_);
|
| +
|
| + if (surface_info)
|
| + client_surface_embedder->UpdateSurface(*surface_info.get());
|
| + else
|
| + client_surface_embedder.reset();
|
| +
|
| surface_info_ = std::move(surface_info);
|
| }
|
|
|
|
|