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

Side by Side Diff: services/ui/ws/frame_generator.cc

Issue 2576723002: Split cc::mojom::DisplayCompositor::CreateCompositorFrameSink() into CreateDisplayCompositorFrameSi… (Closed)
Patch Set: Addressed comments Created 4 years 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
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 8
9 #include "base/containers/adapters.h" 9 #include "base/containers/adapters.h"
10 #include "cc/output/compositor_frame.h" 10 #include "cc/output/compositor_frame.h"
(...skipping 25 matching lines...) Expand all
36 // FrameGenerator during destruction of |compositor_frame_sink_|. 36 // FrameGenerator during destruction of |compositor_frame_sink_|.
37 weak_factory_.InvalidateWeakPtrs(); 37 weak_factory_.InvalidateWeakPtrs();
38 compositor_frame_sink_.reset(); 38 compositor_frame_sink_.reset();
39 } 39 }
40 40
41 void FrameGenerator::OnAcceleratedWidgetAvailable( 41 void FrameGenerator::OnAcceleratedWidgetAvailable(
42 gfx::AcceleratedWidget widget) { 42 gfx::AcceleratedWidget widget) {
43 DCHECK_NE(gfx::kNullAcceleratedWidget, widget); 43 DCHECK_NE(gfx::kNullAcceleratedWidget, widget);
44 cc::mojom::MojoCompositorFrameSinkRequest request = 44 cc::mojom::MojoCompositorFrameSinkRequest request =
45 mojo::GetProxy(&compositor_frame_sink_); 45 mojo::GetProxy(&compositor_frame_sink_);
46 root_window_->CreateCompositorFrameSink( 46 root_window_->CreateDisplayCompositorFrameSink(
47 mojom::CompositorFrameSinkType::DEFAULT, widget, std::move(request), 47 widget, std::move(request), binding_.CreateInterfacePtrAndBind());
48 binding_.CreateInterfacePtrAndBind());
49 // TODO(fsamuel): This means we're always requesting a new BeginFrame signal 48 // TODO(fsamuel): This means we're always requesting a new BeginFrame signal
50 // even when we don't need it. Once surface ID propagation work is done, 49 // even when we don't need it. Once surface ID propagation work is done,
51 // this will not be necessary because FrameGenerator will only need a 50 // this will not be necessary because FrameGenerator will only need a
52 // BeginFrame if the window manager changes. 51 // BeginFrame if the window manager changes.
53 compositor_frame_sink_->SetNeedsBeginFrame(true); 52 compositor_frame_sink_->SetNeedsBeginFrame(true);
54 } 53 }
55 54
56 void FrameGenerator::OnSurfaceCreated(const cc::SurfaceId& surface_id, 55 void FrameGenerator::OnSurfaceCreated(const cc::SurfaceId& surface_id,
57 ServerWindow* window) { 56 ServerWindow* window) {
58 DCHECK(surface_id.is_valid()); 57 DCHECK(surface_id.is_valid());
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 cc::SurfaceId underlay_surface_id = 342 cc::SurfaceId underlay_surface_id =
344 window->compositor_frame_sink_manager()->GetLatestSurfaceId( 343 window->compositor_frame_sink_manager()->GetLatestSurfaceId(
345 mojom::CompositorFrameSinkType::UNDERLAY); 344 mojom::CompositorFrameSinkType::UNDERLAY);
346 if (underlay_surface_id.is_valid()) 345 if (underlay_surface_id.is_valid())
347 RemoveFrameSinkReference(underlay_surface_id.frame_sink_id()); 346 RemoveFrameSinkReference(underlay_surface_id.frame_sink_id());
348 } 347 }
349 348
350 } // namespace ws 349 } // namespace ws
351 350
352 } // namespace ui 351 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698