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

Unified Diff: services/ui/ws/frame_generator.cc

Issue 2481263002: Introduce Display Compositor mojo interface. Use InProcessContextProvider. (Closed)
Patch Set: Make ContextProvider NON_EXPORTED_BASE of InProcessContextProvider Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: services/ui/ws/frame_generator.cc
diff --git a/services/ui/ws/frame_generator.cc b/services/ui/ws/frame_generator.cc
index 1a59d74c362eee07e8bc339275f3624ce3c70be7..58559472ec0cbd8246276d3b1a66b5723d76ac06 100644
--- a/services/ui/ws/frame_generator.cc
+++ b/services/ui/ws/frame_generator.cc
@@ -11,9 +11,6 @@
#include "cc/quads/shared_quad_state.h"
#include "cc/quads/surface_draw_quad.h"
#include "cc/surfaces/surface_id.h"
-#include "gpu/ipc/client/gpu_channel_host.h"
-#include "services/ui/surfaces/display_compositor.h"
-#include "services/ui/surfaces/surfaces_context_provider.h"
#include "services/ui/ws/frame_generator_delegate.h"
#include "services/ui/ws/server_window.h"
#include "services/ui/ws/server_window_compositor_frame_sink_manager.h"
@@ -44,46 +41,19 @@ FrameGenerator::~FrameGenerator() {
compositor_frame_sink_.reset();
}
-void FrameGenerator::OnGpuChannelEstablished(
- scoped_refptr<gpu::GpuChannelHost> channel) {
- if (widget_ != gfx::kNullAcceleratedWidget) {
- cc::mojom::MojoCompositorFrameSinkRequest request =
- mojo::GetProxy(&compositor_frame_sink_);
- // TODO(fsamuel): FrameGenerator should not know about
- // SurfacesContextProvider. In fact, FrameGenerator should not know
- // about GpuChannelHost.
- root_window_->CreateCompositorFrameSink(
- mojom::CompositorFrameSinkType::DEFAULT, widget_,
- channel->gpu_memory_buffer_manager(),
- new SurfacesContextProvider(widget_, channel), std::move(request),
- binding_.CreateInterfacePtrAndBind());
- // TODO(fsamuel): This means we're always requesting a new BeginFrame signal
- // even when we don't need it. Once surface ID propagation work is done,
- // this will not be necessary because FrameGenerator will only need a
- // BeginFrame if the window manager changes.
- compositor_frame_sink_->SetNeedsBeginFrame(true);
- } else {
- gpu_channel_ = std::move(channel);
- }
-}
-
void FrameGenerator::OnAcceleratedWidgetAvailable(
gfx::AcceleratedWidget widget) {
- widget_ = widget;
- if (gpu_channel_ && widget != gfx::kNullAcceleratedWidget) {
- cc::mojom::MojoCompositorFrameSinkRequest request =
- mojo::GetProxy(&compositor_frame_sink_);
- root_window_->CreateCompositorFrameSink(
- mojom::CompositorFrameSinkType::DEFAULT, widget_,
- gpu_channel_->gpu_memory_buffer_manager(),
- new SurfacesContextProvider(widget_, gpu_channel_),
- std::move(request), binding_.CreateInterfacePtrAndBind());
- // TODO(fsamuel): This means we're always requesting a new BeginFrame signal
- // even when we don't need it. Once surface ID propagation work is done,
- // this will not be necessary because FrameGenerator will only need a
- // BeginFrame if the window manager changes.
- compositor_frame_sink_->SetNeedsBeginFrame(true);
- }
+ DCHECK(widget != gfx::kNullAcceleratedWidget);
sadrul 2016/11/21 17:23:49 DCHECK_NE
Fady Samuel 2016/11/21 20:40:41 Done.
+ cc::mojom::MojoCompositorFrameSinkRequest request =
+ mojo::GetProxy(&compositor_frame_sink_);
+ root_window_->CreateCompositorFrameSink(
+ mojom::CompositorFrameSinkType::DEFAULT, widget, std::move(request),
+ binding_.CreateInterfacePtrAndBind());
+ // TODO(fsamuel): This means we're always requesting a new BeginFrame signal
+ // even when we don't need it. Once surface ID propagation work is done,
+ // this will not be necessary because FrameGenerator will only need a
+ // BeginFrame if the window manager changes.
+ compositor_frame_sink_->SetNeedsBeginFrame(true);
}
void FrameGenerator::DidReceiveCompositorFrameAck() {}
@@ -279,7 +249,7 @@ void FrameGenerator::ReleaseAllSurfaceReferences() {
dependencies_.clear();
}
-ui::DisplayCompositor* FrameGenerator::GetDisplayCompositor() {
+cc::mojom::DisplayCompositor* FrameGenerator::GetDisplayCompositor() {
return root_window_->delegate()->GetDisplayCompositor();
}

Powered by Google App Engine
This is Rietveld 408576698