| 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 643824fec22648fe1d31573619fa07816cc7bb0d..0f81a2d79205d9a9b207a358dfa6ca34ae3fee51 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"
|
| @@ -262,7 +260,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;
|
| @@ -279,7 +277,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();
|
| @@ -287,7 +285,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;
|
| }
|
| @@ -299,7 +297,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,
|
| @@ -553,21 +551,21 @@ 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);
|
| data->display->SetColorSpace(data->color_space);
|
| - compositor->SetOutputSurface(std::move(delegated_output_surface));
|
| + compositor->SetCompositorFrameSink(std::move(compositor_frame_sink));
|
| }
|
|
|
| std::unique_ptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector(
|
|
|