OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/display_compositor/gpu_display_compositor_frame_sink.h" | 5 #include "components/display_compositor/gpu_display_compositor_frame_sink.h" |
6 | 6 |
7 namespace display_compositor { | 7 namespace display_compositor { |
8 | 8 |
9 GpuDisplayCompositorFrameSink::GpuDisplayCompositorFrameSink( | 9 GpuDisplayCompositorFrameSink::GpuDisplayCompositorFrameSink( |
10 GpuCompositorFrameSinkDelegate* delegate, | 10 GpuCompositorFrameSinkDelegate* delegate, |
11 cc::SurfaceManager* surface_manager, | 11 cc::SurfaceManager* surface_manager, |
12 const cc::FrameSinkId& frame_sink_id, | 12 const cc::FrameSinkId& frame_sink_id, |
13 std::unique_ptr<cc::Display> display, | 13 std::unique_ptr<cc::Display> display, |
14 std::unique_ptr<cc::BeginFrameSource> begin_frame_source, | 14 std::unique_ptr<cc::BeginFrameSource> begin_frame_source, |
15 cc::mojom::MojoCompositorFrameSinkAssociatedRequest request, | 15 cc::mojom::MojoCompositorFrameSinkAssociatedRequest request, |
16 cc::mojom::MojoCompositorFrameSinkPrivateRequest | 16 cc::mojom::MojoCompositorFrameSinkPrivateRequest |
17 compositor_frame_sink_private_request, | 17 compositor_frame_sink_private_request, |
18 cc::mojom::MojoCompositorFrameSinkClientPtr client, | 18 cc::mojom::MojoCompositorFrameSinkClientPtr client, |
19 cc::mojom::DisplayPrivateAssociatedRequest display_private_request) | 19 cc::mojom::DisplayPrivateAssociatedRequest display_private_request) |
20 : GpuCompositorFrameSink(delegate, | 20 : GpuCompositorFrameSink(delegate, |
21 surface_manager, | 21 surface_manager, |
22 frame_sink_id, | 22 frame_sink_id, |
23 std::move(display), | 23 display.get(), |
24 std::move(begin_frame_source), | |
25 std::move(compositor_frame_sink_private_request), | 24 std::move(compositor_frame_sink_private_request), |
26 std::move(client)), | 25 std::move(client)), |
27 binding_(this, std::move(request)), | 26 binding_(this, std::move(request)), |
28 display_private_binding_(this, std::move(display_private_request)) { | 27 display_private_binding_(this, std::move(display_private_request)), |
| 28 display_(std::move(display)), |
| 29 display_begin_frame_source_(std::move(begin_frame_source)) { |
29 binding_.set_connection_error_handler( | 30 binding_.set_connection_error_handler( |
30 base::Bind(&GpuDisplayCompositorFrameSink::OnClientConnectionLost, | 31 base::Bind(&GpuDisplayCompositorFrameSink::OnClientConnectionLost, |
31 base::Unretained(this))); | 32 base::Unretained(this))); |
| 33 display_->SetVisible(true); |
32 } | 34 } |
33 | 35 |
34 GpuDisplayCompositorFrameSink::~GpuDisplayCompositorFrameSink() = default; | 36 GpuDisplayCompositorFrameSink::~GpuDisplayCompositorFrameSink() = default; |
35 | 37 |
36 void GpuDisplayCompositorFrameSink::SetDisplayVisible(bool visible) { | 38 void GpuDisplayCompositorFrameSink::SetDisplayVisible(bool visible) { |
37 DCHECK(support_.display()); | 39 DCHECK(support_.display()); |
38 support_.display()->SetVisible(visible); | 40 support_.display()->SetVisible(visible); |
39 } | 41 } |
40 | 42 |
41 void GpuDisplayCompositorFrameSink::ResizeDisplay(const gfx::Size& size) { | 43 void GpuDisplayCompositorFrameSink::ResizeDisplay(const gfx::Size& size) { |
42 DCHECK(support_.display()); | 44 DCHECK(support_.display()); |
43 support_.display()->Resize(size); | 45 support_.display()->Resize(size); |
44 } | 46 } |
45 | 47 |
46 void GpuDisplayCompositorFrameSink::SetDisplayColorSpace( | 48 void GpuDisplayCompositorFrameSink::SetDisplayColorSpace( |
47 const gfx::ColorSpace& color_space) { | 49 const gfx::ColorSpace& color_space) { |
48 DCHECK(support_.display()); | 50 DCHECK(support_.display()); |
49 support_.display()->SetColorSpace(color_space); | 51 support_.display()->SetColorSpace(color_space); |
50 } | 52 } |
51 | 53 |
52 void GpuDisplayCompositorFrameSink::SetOutputIsSecure(bool secure) { | 54 void GpuDisplayCompositorFrameSink::SetOutputIsSecure(bool secure) { |
53 DCHECK(support_.display()); | 55 DCHECK(support_.display()); |
54 support_.display()->SetOutputIsSecure(secure); | 56 support_.display()->SetOutputIsSecure(secure); |
55 } | 57 } |
56 | 58 |
57 } // namespace display_compositor | 59 } // namespace display_compositor |
OLD | NEW |