OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "services/ui/ws/frame_generator.h" | 5 #include "services/ui/ws/frame_generator.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/containers/adapters.h" | 10 #include "base/containers/adapters.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 compositor_frame_sink_->SetNeedsBeginFrame(true); | 38 compositor_frame_sink_->SetNeedsBeginFrame(true); |
39 } | 39 } |
40 | 40 |
41 FrameGenerator::~FrameGenerator() { | 41 FrameGenerator::~FrameGenerator() { |
42 compositor_frame_sink_.reset(); | 42 compositor_frame_sink_.reset(); |
43 } | 43 } |
44 | 44 |
45 void FrameGenerator::OnAcceleratedWidgetAvailable( | 45 void FrameGenerator::OnAcceleratedWidgetAvailable( |
46 gfx::AcceleratedWidget widget) { | 46 gfx::AcceleratedWidget widget) { |
47 DCHECK_NE(gfx::kNullAcceleratedWidget, widget); | 47 DCHECK_NE(gfx::kNullAcceleratedWidget, widget); |
48 auto associated_group = | |
49 root_window_->delegate()->GetDisplayCompositorAssociatedGroup(); | |
50 cc::mojom::MojoCompositorFrameSinkAssociatedRequest sink_request = | 48 cc::mojom::MojoCompositorFrameSinkAssociatedRequest sink_request = |
51 mojo::MakeRequest(&compositor_frame_sink_, associated_group); | 49 mojo::MakeRequest(&compositor_frame_sink_); |
52 cc::mojom::DisplayPrivateAssociatedRequest display_request = | 50 cc::mojom::DisplayPrivateAssociatedRequest display_request = |
53 mojo::MakeRequest(&display_private_, associated_group); | 51 mojo::MakeRequest(&display_private_); |
54 root_window_->CreateDisplayCompositorFrameSink( | 52 root_window_->CreateDisplayCompositorFrameSink( |
55 widget, std::move(sink_request), binding_.CreateInterfacePtrAndBind(), | 53 widget, std::move(sink_request), binding_.CreateInterfacePtrAndBind(), |
56 std::move(display_request)); | 54 std::move(display_request)); |
57 } | 55 } |
58 | 56 |
59 void FrameGenerator::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { | 57 void FrameGenerator::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { |
60 DCHECK(surface_info.id().is_valid()); | 58 DCHECK(surface_info.id().is_valid()); |
61 | 59 |
62 // Only handle embedded surfaces changing here. The display root surface | 60 // Only handle embedded surfaces changing here. The display root surface |
63 // changing is handled immediately after the CompositorFrame is submitted. | 61 // changing is handled immediately after the CompositorFrame is submitted. |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 0 /* sorting-context_id */); | 176 0 /* sorting-context_id */); |
179 auto* quad = pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); | 177 auto* quad = pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); |
180 quad->SetAll(sqs, bounds_at_origin /* rect */, gfx::Rect() /* opaque_rect */, | 178 quad->SetAll(sqs, bounds_at_origin /* rect */, gfx::Rect() /* opaque_rect */, |
181 bounds_at_origin /* visible_rect */, true /* needs_blending*/, | 179 bounds_at_origin /* visible_rect */, true /* needs_blending*/, |
182 window_manager_surface_info_.id()); | 180 window_manager_surface_info_.id()); |
183 } | 181 } |
184 | 182 |
185 } // namespace ws | 183 } // namespace ws |
186 | 184 |
187 } // namespace ui | 185 } // namespace ui |
OLD | NEW |