| Index: services/ui/ws/window_server.cc
|
| diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc
|
| index 3ab93974429d3dd07a6b98a31f7f031f92c3a086..3015363ef2da841c9d7c67d08b2467d6eab2a61c 100644
|
| --- a/services/ui/ws/window_server.cc
|
| +++ b/services/ui/ws/window_server.cc
|
| @@ -55,11 +55,10 @@ WindowServer::WindowServer(WindowServerDelegate* delegate)
|
| next_wm_change_id_(0),
|
| gpu_proxy_(new GpuServiceProxy(this)),
|
| window_manager_window_tree_factory_set_(this, &user_id_tracker_),
|
| - display_compositor_client_binding_(this),
|
| - display_compositor_(new DisplayCompositor(
|
| - display_compositor_client_binding_.CreateInterfacePtrAndBind())) {
|
| + display_compositor_client_binding_(this) {
|
| user_id_tracker_.AddObserver(this);
|
| OnUserIdAdded(user_id_tracker_.active_id());
|
| + display_compositor_request_ = mojo::GetProxy(&display_compositor_);
|
| }
|
|
|
| WindowServer::~WindowServer() {
|
| @@ -495,8 +494,6 @@ WindowTree* WindowServer::GetCurrentDragLoopInitiator() {
|
| }
|
|
|
| void WindowServer::OnDisplayReady(Display* display, bool is_first) {
|
| - if (gpu_channel_)
|
| - display->platform_display()->OnGpuChannelEstablished(gpu_channel_);
|
| if (is_first)
|
| delegate_->OnFirstDisplayReady();
|
| }
|
| @@ -511,7 +508,7 @@ WindowManagerState* WindowServer::GetWindowManagerStateForUser(
|
| user_id);
|
| }
|
|
|
| -ui::DisplayCompositor* WindowServer::GetDisplayCompositor() {
|
| +cc::mojom::DisplayCompositor* WindowServer::GetDisplayCompositor() {
|
| return display_compositor_.get();
|
| }
|
|
|
| @@ -744,12 +741,10 @@ void WindowServer::OnTransientWindowRemoved(ServerWindow* window,
|
| }
|
| }
|
|
|
| -void WindowServer::OnGpuChannelEstablished(
|
| - scoped_refptr<gpu::GpuChannelHost> gpu_channel) {
|
| - gpu_channel_ = std::move(gpu_channel);
|
| - const std::set<Display*>& displays = display_manager()->displays();
|
| - for (auto* display : displays)
|
| - display->platform_display()->OnGpuChannelEstablished(gpu_channel_);
|
| +void WindowServer::OnGpuServiceInitialized() {
|
| + gpu_proxy_->CreateDisplayCompositor(
|
| + std::move(display_compositor_request_),
|
| + display_compositor_client_binding_.CreateInterfacePtrAndBind());
|
| // TODO(kylechar): When gpu channel is removed, this can instead happen
|
| // earlier, after GpuServiceProxy::OnInitialized().
|
| delegate_->StartDisplayInit();
|
|
|