Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: components/display_compositor/gpu_display_compositor_frame_sink.cc

Issue 2710703005: GpuDisplayCompositorFrameSink => GpuRootCompositorFrameSink (Closed)
Patch Set: Addressed Dana's comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "components/display_compositor/gpu_display_compositor_frame_sink.h"
6
7 namespace display_compositor {
8
9 GpuDisplayCompositorFrameSink::GpuDisplayCompositorFrameSink(
10 GpuCompositorFrameSinkDelegate* delegate,
11 cc::SurfaceManager* surface_manager,
12 const cc::FrameSinkId& frame_sink_id,
13 std::unique_ptr<cc::Display> display,
14 std::unique_ptr<cc::BeginFrameSource> begin_frame_source,
15 cc::mojom::MojoCompositorFrameSinkAssociatedRequest request,
16 cc::mojom::MojoCompositorFrameSinkPrivateRequest
17 compositor_frame_sink_private_request,
18 cc::mojom::MojoCompositorFrameSinkClientPtr client,
19 cc::mojom::DisplayPrivateAssociatedRequest display_private_request)
20 : GpuCompositorFrameSink(delegate,
21 base::MakeUnique<cc::CompositorFrameSinkSupport>(
22 this,
23 surface_manager,
24 frame_sink_id,
25 true /* is_root */,
26 true /* handles_frame_sink_id_invalidation */,
27 true /* needs_sync_points */),
28 std::move(compositor_frame_sink_private_request),
29 std::move(client)),
30 binding_(this, std::move(request)),
31 display_private_binding_(this, std::move(display_private_request)),
32 display_begin_frame_source_(std::move(begin_frame_source)),
33 display_(std::move(display)) {
34 binding_.set_connection_error_handler(
35 base::Bind(&GpuDisplayCompositorFrameSink::OnClientConnectionLost,
36 base::Unretained(this)));
37 display_->Initialize(this, surface_manager);
38 display_->SetVisible(true);
39 }
40
41 GpuDisplayCompositorFrameSink::~GpuDisplayCompositorFrameSink() = default;
42
43 void GpuDisplayCompositorFrameSink::SetDisplayVisible(bool visible) {
44 DCHECK(display_);
45 display_->SetVisible(visible);
46 }
47
48 void GpuDisplayCompositorFrameSink::ResizeDisplay(const gfx::Size& size) {
49 DCHECK(display_);
50 display_->Resize(size);
51 }
52
53 void GpuDisplayCompositorFrameSink::SetDisplayColorSpace(
54 const gfx::ColorSpace& color_space) {
55 DCHECK(display_);
56 display_->SetColorSpace(color_space);
57 }
58
59 void GpuDisplayCompositorFrameSink::SetOutputIsSecure(bool secure) {
60 DCHECK(display_);
61 display_->SetOutputIsSecure(secure);
62 }
63
64 void GpuDisplayCompositorFrameSink::SetLocalSurfaceId(
65 const cc::LocalSurfaceId& local_surface_id,
66 float scale_factor) {
67 display_->SetLocalSurfaceId(local_surface_id, scale_factor);
68 }
69
70 void GpuDisplayCompositorFrameSink::DisplayOutputSurfaceLost() {
71 // TODO(staraz): Implement this. Client should hear about context/output
72 // surface lost.
73 }
74
75 void GpuDisplayCompositorFrameSink::DisplayWillDrawAndSwap(
76 bool will_draw_and_swap,
77 const cc::RenderPassList& render_pass) {}
78
79 void GpuDisplayCompositorFrameSink::DisplayDidDrawAndSwap() {}
80
81 } // namespace display_compositor
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698