Index: blimp/client/app/compositor/browser_compositor.cc |
diff --git a/blimp/client/app/compositor/browser_compositor.cc b/blimp/client/app/compositor/browser_compositor.cc |
index 81e278eb340cf6a64b55f072c62ca3d3497b5538..d6134624f53d5c545108a674c9b844b994629318 100644 |
--- a/blimp/client/app/compositor/browser_compositor.cc |
+++ b/blimp/client/app/compositor/browser_compositor.cc |
@@ -12,10 +12,11 @@ |
#include "cc/animation/animation_host.h" |
#include "cc/layers/layer.h" |
#include "cc/output/compositor_frame.h" |
+#include "cc/output/output_surface.h" |
#include "cc/output/texture_mailbox_deleter.h" |
#include "cc/raster/single_thread_task_graph_runner.h" |
+#include "cc/surfaces/direct_compositor_frame_sink.h" |
#include "cc/surfaces/display.h" |
-#include "cc/surfaces/surface_display_output_surface.h" |
#include "cc/surfaces/surface_id_allocator.h" |
#include "cc/surfaces/surface_manager.h" |
#include "cc/trees/layer_tree_host.h" |
@@ -73,7 +74,7 @@ BrowserCompositor::BrowserCompositor( |
surface_id_allocator_(base::MakeUnique<cc::SurfaceIdAllocator>( |
compositor_dependencies->AllocateSurfaceClientId())), |
widget_(gfx::kNullAcceleratedWidget), |
- output_surface_request_pending_(false), |
+ compositor_frame_sink_request_pending_(false), |
root_layer_(cc::Layer::Create()) { |
compositor_dependencies_->GetSurfaceManager()->RegisterSurfaceClientId( |
surface_id_allocator_->client_id()); |
@@ -124,7 +125,7 @@ void BrowserCompositor::SetAcceleratedWidget(gfx::AcceleratedWidget widget) { |
// We are always visible if we have a widget. |
DCHECK(host_->IsVisible()); |
host_->SetVisible(false); |
- host_->ReleaseOutputSurface(); |
+ host_->ReleaseCompositorFrameSink(); |
display_.reset(); |
} |
@@ -133,25 +134,25 @@ void BrowserCompositor::SetAcceleratedWidget(gfx::AcceleratedWidget widget) { |
if (widget != gfx::kNullAcceleratedWidget) { |
widget_ = widget; |
host_->SetVisible(true); |
- if (output_surface_request_pending_) { |
- HandlePendingOutputSurfaceRequest(); |
+ if (compositor_frame_sink_request_pending_) { |
+ HandlePendingCompositorFrameSinkRequest(); |
} |
} |
} |
-void BrowserCompositor::RequestNewOutputSurface() { |
- DCHECK(!output_surface_request_pending_) |
+void BrowserCompositor::RequestNewCompositorFrameSink() { |
+ DCHECK(!compositor_frame_sink_request_pending_) |
<< "We already have a pending request?"; |
- output_surface_request_pending_ = true; |
- HandlePendingOutputSurfaceRequest(); |
+ compositor_frame_sink_request_pending_ = true; |
+ HandlePendingCompositorFrameSinkRequest(); |
} |
-void BrowserCompositor::DidInitializeOutputSurface() { |
- output_surface_request_pending_ = false; |
+void BrowserCompositor::DidInitializeCompositorFrameSink() { |
+ compositor_frame_sink_request_pending_ = false; |
} |
-void BrowserCompositor::DidFailToInitializeOutputSurface() { |
- NOTREACHED() << "Can't fail to initialize the OutputSurface here"; |
+void BrowserCompositor::DidFailToInitializeCompositorFrameSink() { |
+ NOTREACHED() << "Can't fail to initialize the CompositorFrameSink here"; |
} |
void BrowserCompositor::DidCompleteSwapBuffers() { |
@@ -160,8 +161,8 @@ void BrowserCompositor::DidCompleteSwapBuffers() { |
} |
} |
-void BrowserCompositor::HandlePendingOutputSurfaceRequest() { |
- DCHECK(output_surface_request_pending_); |
+void BrowserCompositor::HandlePendingCompositorFrameSinkRequest() { |
+ DCHECK(compositor_frame_sink_request_pending_); |
// Can't handle the request right now since we don't have a widget. |
if (!host_->IsVisible()) |
@@ -175,7 +176,7 @@ void BrowserCompositor::HandlePendingOutputSurfaceRequest() { |
scoped_refptr<cc::ContextProvider> context_provider = |
BlimpContextProvider::Create(widget_, gpu_memory_buffer_manager); |
- std::unique_ptr<cc::OutputSurface> display_output_surface = |
+ std::unique_ptr<cc::OutputSurface> output_surface = |
base::MakeUnique<DisplayOutputSurface>(context_provider); |
auto* task_runner = base::ThreadTaskRunnerHandle::Get().get(); |
@@ -184,24 +185,23 @@ void BrowserCompositor::HandlePendingOutputSurfaceRequest() { |
base::MakeUnique<cc::DelayBasedTimeSource>(task_runner))); |
std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( |
begin_frame_source.get(), task_runner, |
- display_output_surface->capabilities().max_frames_pending)); |
+ output_surface->capabilities().max_frames_pending)); |
display_ = base::MakeUnique<cc::Display>( |
nullptr /*shared_bitmap_manager*/, gpu_memory_buffer_manager, |
host_->GetSettings().renderer_settings, std::move(begin_frame_source), |
- std::move(display_output_surface), std::move(scheduler), |
+ std::move(output_surface), std::move(scheduler), |
base::MakeUnique<cc::TextureMailboxDeleter>(task_runner)); |
display_->SetVisible(true); |
display_->Resize(viewport_size_in_px_); |
- // The Browser compositor and display share the same context provider. |
- std::unique_ptr<cc::OutputSurface> delegated_output_surface = |
- base::MakeUnique<cc::SurfaceDisplayOutputSurface>( |
- compositor_dependencies_->GetSurfaceManager(), |
- surface_id_allocator_.get(), display_.get(), context_provider, |
- nullptr); |
+ // The browser's layer tree and display compositors share the same context |
+ // provider. |
+ auto compositor_frame_sink = base::MakeUnique<cc::DirectCompositorFrameSink>( |
+ compositor_dependencies_->GetSurfaceManager(), |
+ surface_id_allocator_.get(), display_.get(), context_provider, nullptr); |
- host_->SetOutputSurface(std::move(delegated_output_surface)); |
+ host_->SetCompositorFrameSink(std::move(compositor_frame_sink)); |
} |
} // namespace client |