| Index: services/ui/ws/window_server.cc
|
| diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc
|
| index cf1f62094a075df020d9e48bbd57a91f6c517bde..dd5e3cae6261063b7fe094896a1deb36b3d9f6c9 100644
|
| --- a/services/ui/ws/window_server.cc
|
| +++ b/services/ui/ws/window_server.cc
|
| @@ -484,8 +484,11 @@ gfx::Rect WindowServer::GetCurrentMoveLoopRevertBounds() {
|
| return gfx::Rect();
|
| }
|
|
|
| -void WindowServer::OnFirstDisplayReady() {
|
| - delegate_->OnFirstDisplayReady();
|
| +void WindowServer::OnDisplayReady(Display* display, bool is_first) {
|
| + if (gpu_channel_)
|
| + display->platform_display()->OnGpuChannelEstablished(gpu_channel_);
|
| + if (is_first)
|
| + delegate_->OnFirstDisplayReady();
|
| }
|
|
|
| void WindowServer::OnNoMoreDisplays() {
|
| @@ -768,9 +771,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);
|
| + display->platform_display()->OnGpuChannelEstablished(gpu_channel_);
|
| }
|
|
|
| void WindowServer::OnActiveUserIdChanged(const UserId& previously_active_id,
|
|
|