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

Unified Diff: ui/compositor/test/in_process_context_factory.cc

Issue 2337913003: Fork cc::OutputSurface into cc::CompositorFrameSink. (Closed)
Patch Set: cfsfork: rebase Created 4 years, 3 months 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: 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(

Powered by Google App Engine
This is Rietveld 408576698