| Index: content/browser/compositor/gpu_process_transport_factory.cc
|
| diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
|
| index 128cb435d4233060e5b16e2b84a7f476a476be81..8ce5788af578513d803fc46c76f47c3c5e076542 100644
|
| --- a/content/browser/compositor/gpu_process_transport_factory.cc
|
| +++ b/content/browser/compositor/gpu_process_transport_factory.cc
|
| @@ -18,17 +18,15 @@
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "build/build_config.h"
|
| #include "cc/base/histograms.h"
|
| -#include "cc/output/compositor_frame.h"
|
| -#include "cc/output/output_surface.h"
|
| #include "cc/output/texture_mailbox_deleter.h"
|
| #include "cc/output/vulkan_in_process_context_provider.h"
|
| #include "cc/raster/single_thread_task_graph_runner.h"
|
| #include "cc/raster/task_graph_runner.h"
|
| #include "cc/scheduler/begin_frame_source.h"
|
| #include "cc/scheduler/delay_based_time_source.h"
|
| +#include "cc/surfaces/direct_compositor_frame_sink.h"
|
| #include "cc/surfaces/display.h"
|
| #include "cc/surfaces/display_scheduler.h"
|
| -#include "cc/surfaces/surface_display_output_surface.h"
|
| #include "cc/surfaces/surface_manager.h"
|
| #include "components/display_compositor/compositor_overlay_candidate_validator.h"
|
| #include "components/display_compositor/gl_helper.h"
|
| @@ -261,7 +259,7 @@ CreateOverlayCandidateValidator(gfx::AcceleratedWidget widget) {
|
| return validator;
|
| }
|
|
|
| -static bool ShouldCreateGpuOutputSurface(ui::Compositor* compositor) {
|
| +static bool ShouldCreateGpuCompositorFrameSink(ui::Compositor* compositor) {
|
| #if defined(OS_CHROMEOS)
|
| // Software fallback does not happen on Chrome OS.
|
| return true;
|
| @@ -278,7 +276,7 @@ static bool ShouldCreateGpuOutputSurface(ui::Compositor* compositor) {
|
| return GpuDataManagerImpl::GetInstance()->CanUseGpuBrowserCompositor();
|
| }
|
|
|
| -void GpuProcessTransportFactory::CreateOutputSurface(
|
| +void GpuProcessTransportFactory::CreateCompositorFrameSink(
|
| base::WeakPtr<ui::Compositor> compositor) {
|
| DCHECK(!!compositor);
|
| PerCompositorData* data = per_compositor_data_[compositor.get()].get();
|
| @@ -286,7 +284,7 @@ void GpuProcessTransportFactory::CreateOutputSurface(
|
| data = CreatePerCompositorData(compositor.get());
|
| } else {
|
| // TODO(danakj): We can destroy the |data->display| here when the compositor
|
| - // destroys its OutputSurface before calling back here.
|
| + // destroys its CompositorFrameSink before calling back here.
|
| data->display_output_surface = nullptr;
|
| data->begin_frame_source = nullptr;
|
| }
|
| @@ -298,7 +296,7 @@ void GpuProcessTransportFactory::CreateOutputSurface(
|
|
|
| const bool use_vulkan = static_cast<bool>(SharedVulkanContextProvider());
|
| const bool create_gpu_output_surface =
|
| - ShouldCreateGpuOutputSurface(compositor.get());
|
| + ShouldCreateGpuCompositorFrameSink(compositor.get());
|
| if (create_gpu_output_surface && !use_vulkan) {
|
| gpu::GpuChannelEstablishedCallback callback(
|
| base::Bind(&GpuProcessTransportFactory::EstablishedGpuChannel,
|
| @@ -552,20 +550,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
| // The |delegated_output_surface| is given back to the compositor, it
|
| // delegates to the Display as its root surface. Importantly, it shares the
|
| // same ContextProvider as the Display's output surface.
|
| - std::unique_ptr<cc::SurfaceDisplayOutputSurface> delegated_output_surface(
|
| + auto compositor_frame_sink =
|
| vulkan_context_provider
|
| - ? new cc::SurfaceDisplayOutputSurface(
|
| + ? base::MakeUnique<cc::DirectCompositorFrameSink>(
|
| surface_manager_.get(), compositor->surface_id_allocator(),
|
| data->display.get(),
|
| static_cast<scoped_refptr<cc::VulkanContextProvider>>(
|
| vulkan_context_provider))
|
| - : new cc::SurfaceDisplayOutputSurface(
|
| + : base::MakeUnique<cc::DirectCompositorFrameSink>(
|
| surface_manager_.get(), compositor->surface_id_allocator(),
|
| data->display.get(), context_provider,
|
| - shared_worker_context_provider_));
|
| + shared_worker_context_provider_);
|
| data->display->Resize(compositor->size());
|
| data->display->SetOutputIsSecure(data->output_is_secure);
|
| - compositor->SetOutputSurface(std::move(delegated_output_surface));
|
| + compositor->SetCompositorFrameSink(std::move(compositor_frame_sink));
|
| }
|
|
|
| std::unique_ptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector(
|
|
|