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 display.get(), | 23 std::move(display), |
| 24 std::move(begin_frame_source), |
24 std::move(compositor_frame_sink_private_request), | 25 std::move(compositor_frame_sink_private_request), |
25 std::move(client)), | 26 std::move(client)), |
26 binding_(this, std::move(request)), | 27 binding_(this, std::move(request)), |
27 display_private_binding_(this, std::move(display_private_request)), | 28 display_private_binding_(this, std::move(display_private_request)) { |
28 display_begin_frame_source_(std::move(begin_frame_source)), | |
29 display_(std::move(display)) { | |
30 binding_.set_connection_error_handler( | 29 binding_.set_connection_error_handler( |
31 base::Bind(&GpuDisplayCompositorFrameSink::OnClientConnectionLost, | 30 base::Bind(&GpuDisplayCompositorFrameSink::OnClientConnectionLost, |
32 base::Unretained(this))); | 31 base::Unretained(this))); |
33 display_->SetVisible(true); | |
34 } | 32 } |
35 | 33 |
36 GpuDisplayCompositorFrameSink::~GpuDisplayCompositorFrameSink() = default; | 34 GpuDisplayCompositorFrameSink::~GpuDisplayCompositorFrameSink() = default; |
37 | 35 |
38 void GpuDisplayCompositorFrameSink::SetDisplayVisible(bool visible) { | 36 void GpuDisplayCompositorFrameSink::SetDisplayVisible(bool visible) { |
39 DCHECK(support_.display()); | 37 DCHECK(support_.display()); |
40 display_->SetVisible(visible); | 38 support_.display()->SetVisible(visible); |
41 } | 39 } |
42 | 40 |
43 void GpuDisplayCompositorFrameSink::ResizeDisplay(const gfx::Size& size) { | 41 void GpuDisplayCompositorFrameSink::ResizeDisplay(const gfx::Size& size) { |
44 DCHECK(support_.display()); | 42 DCHECK(support_.display()); |
45 display_->Resize(size); | 43 support_.display()->Resize(size); |
46 } | 44 } |
47 | 45 |
48 void GpuDisplayCompositorFrameSink::SetDisplayColorSpace( | 46 void GpuDisplayCompositorFrameSink::SetDisplayColorSpace( |
49 const gfx::ColorSpace& color_space) { | 47 const gfx::ColorSpace& color_space) { |
50 DCHECK(support_.display()); | 48 DCHECK(support_.display()); |
51 display_->SetColorSpace(color_space); | 49 support_.display()->SetColorSpace(color_space); |
52 } | 50 } |
53 | 51 |
54 void GpuDisplayCompositorFrameSink::SetOutputIsSecure(bool secure) { | 52 void GpuDisplayCompositorFrameSink::SetOutputIsSecure(bool secure) { |
55 DCHECK(support_.display()); | 53 DCHECK(support_.display()); |
56 display_->SetOutputIsSecure(secure); | 54 support_.display()->SetOutputIsSecure(secure); |
57 } | 55 } |
58 | 56 |
59 } // namespace display_compositor | 57 } // namespace display_compositor |
OLD | NEW |