| Index: ui/compositor/test/in_process_context_factory.cc | 
| diff --git a/ui/compositor/test/in_process_context_factory.cc b/ui/compositor/test/in_process_context_factory.cc | 
| index 6e0100fd6cee92868f0f20b36fb41770c37383a1..9bac870576eee0df811e7e766cf326854e6da0bd 100644 | 
| --- a/ui/compositor/test/in_process_context_factory.cc | 
| +++ b/ui/compositor/test/in_process_context_factory.cc | 
| @@ -17,9 +17,9 @@ | 
| #include "cc/output/texture_mailbox_deleter.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_id_allocator.h" | 
| #include "cc/test/pixel_test_output_surface.h" | 
| #include "cc/test/test_shared_bitmap_manager.h" | 
| @@ -106,6 +106,7 @@ InProcessContextFactory::InProcessContextFactory( | 
| use_test_surface_(true), | 
| context_factory_for_test_(context_factory_for_test), | 
| surface_manager_(surface_manager) { | 
| +  DCHECK(surface_manager); | 
| DCHECK_NE(gl::GetGLImplementation(), gl::kGLImplementationNone) | 
| << "If running tests, ensure that main() is calling " | 
| << "gl::GLSurfaceTestSupport::InitializeOneOff()"; | 
| @@ -119,7 +120,7 @@ void InProcessContextFactory::SendOnLostResources() { | 
| FOR_EACH_OBSERVER(ContextFactoryObserver, observer_list_, OnLostResources()); | 
| } | 
|  | 
| -void InProcessContextFactory::CreateOutputSurface( | 
| +void InProcessContextFactory::CreateCompositorFrameSink( | 
| base::WeakPtr<Compositor> compositor) { | 
| // Try to reuse existing shared worker context provider. | 
| bool shared_worker_context_provider_lost = false; | 
| @@ -167,30 +168,25 @@ void InProcessContextFactory::CreateOutputSurface( | 
| context_provider, shared_worker_context_provider_); | 
| } | 
|  | 
| -  if (surface_manager_) { | 
| -    std::unique_ptr<cc::DelayBasedBeginFrameSource> begin_frame_source( | 
| -        new cc::DelayBasedBeginFrameSource( | 
| -            base::MakeUnique<cc::DelayBasedTimeSource>( | 
| -                compositor->task_runner().get()))); | 
| -    std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( | 
| -        begin_frame_source.get(), compositor->task_runner().get(), | 
| -        display_output_surface->capabilities().max_frames_pending)); | 
| -    per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>( | 
| -        GetSharedBitmapManager(), GetGpuMemoryBufferManager(), | 
| -        compositor->GetRendererSettings(), std::move(begin_frame_source), | 
| -        std::move(display_output_surface), std::move(scheduler), | 
| -        base::MakeUnique<cc::TextureMailboxDeleter>( | 
| -            compositor->task_runner().get())); | 
| - | 
| -    auto* display = per_compositor_data_[compositor.get()].get(); | 
| -    std::unique_ptr<cc::SurfaceDisplayOutputSurface> surface_output_surface( | 
| -        new cc::SurfaceDisplayOutputSurface( | 
| -            surface_manager_, compositor->surface_id_allocator(), display, | 
| -            context_provider, shared_worker_context_provider_)); | 
| -    compositor->SetOutputSurface(std::move(surface_output_surface)); | 
| -  } else { | 
| -    compositor->SetOutputSurface(std::move(display_output_surface)); | 
| -  } | 
| +  std::unique_ptr<cc::DelayBasedBeginFrameSource> begin_frame_source( | 
| +      new cc::DelayBasedBeginFrameSource( | 
| +          base::MakeUnique<cc::DelayBasedTimeSource>( | 
| +              compositor->task_runner().get()))); | 
| +  std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( | 
| +      begin_frame_source.get(), compositor->task_runner().get(), | 
| +      display_output_surface->capabilities().max_frames_pending)); | 
| +  per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>( | 
| +      GetSharedBitmapManager(), GetGpuMemoryBufferManager(), | 
| +      compositor->GetRendererSettings(), std::move(begin_frame_source), | 
| +      std::move(display_output_surface), std::move(scheduler), | 
| +      base::MakeUnique<cc::TextureMailboxDeleter>( | 
| +          compositor->task_runner().get())); | 
| + | 
| +  auto* display = per_compositor_data_[compositor.get()].get(); | 
| +  auto compositor_frame_sink = base::MakeUnique<cc::DirectCompositorFrameSink>( | 
| +      surface_manager_, compositor->surface_id_allocator(), display, | 
| +      context_provider, shared_worker_context_provider_); | 
| +  compositor->SetCompositorFrameSink(std::move(compositor_frame_sink)); | 
| } | 
|  | 
| std::unique_ptr<Reflector> InProcessContextFactory::CreateReflector( | 
|  |