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

Unified Diff: cc/surfaces/direct_compositor_frame_sink.cc

Issue 2684933003: Move frame_sink_id management to framesink_manager.cc/h from (Closed)
Patch Set: Created 3 years, 10 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: cc/surfaces/direct_compositor_frame_sink.cc
diff --git a/cc/surfaces/direct_compositor_frame_sink.cc b/cc/surfaces/direct_compositor_frame_sink.cc
index 10c37ee7cc3842ae45d3b48987aead9a936d9612..1f3bcc00c894a952a2f824b779bea9e1d73ec8ad 100644
--- a/cc/surfaces/direct_compositor_frame_sink.cc
+++ b/cc/surfaces/direct_compositor_frame_sink.cc
@@ -9,6 +9,7 @@
#include "cc/output/compositor_frame_sink_client.h"
#include "cc/surfaces/display.h"
#include "cc/surfaces/frame_sink_id.h"
+#include "cc/surfaces/framesink_manager.h"
#include "cc/surfaces/surface.h"
#include "cc/surfaces/surface_id_allocator.h"
#include "cc/surfaces/surface_manager.h"
@@ -18,6 +19,7 @@ namespace cc {
DirectCompositorFrameSink::DirectCompositorFrameSink(
const FrameSinkId& frame_sink_id,
SurfaceManager* surface_manager,
+ FrameSinkManager* framesink_manager,
Display* display,
scoped_refptr<ContextProvider> context_provider,
scoped_refptr<ContextProvider> worker_context_provider,
@@ -29,6 +31,7 @@ DirectCompositorFrameSink::DirectCompositorFrameSink(
shared_bitmap_manager),
frame_sink_id_(frame_sink_id),
surface_manager_(surface_manager),
+ framesink_manager_(framesink_manager),
display_(display),
factory_(frame_sink_id, surface_manager, this) {
DCHECK(thread_checker_.CalledOnValidThread());
@@ -42,11 +45,13 @@ DirectCompositorFrameSink::DirectCompositorFrameSink(
DirectCompositorFrameSink::DirectCompositorFrameSink(
const FrameSinkId& frame_sink_id,
SurfaceManager* surface_manager,
+ FrameSinkManager* framesink_manager,
Display* display,
scoped_refptr<VulkanContextProvider> vulkan_context_provider)
: CompositorFrameSink(std::move(vulkan_context_provider)),
frame_sink_id_(frame_sink_id),
surface_manager_(surface_manager),
+ framesink_manager_(framesink_manager),
display_(display),
factory_(frame_sink_id_, surface_manager, this) {
DCHECK(thread_checker_.CalledOnValidThread());
@@ -64,7 +69,7 @@ bool DirectCompositorFrameSink::BindToClient(
if (!CompositorFrameSink::BindToClient(client))
return false;
- surface_manager_->RegisterSurfaceFactoryClient(frame_sink_id_, this);
+ framesink_manager_->RegisterSurfaceFactoryClient(frame_sink_id_, this);
// We want the Display's output surface to hear about lost context, and since
// this shares a context with it, we should not be listening for lost context
@@ -74,14 +79,14 @@ bool DirectCompositorFrameSink::BindToClient(
// Avoid initializing GL context here, as this should be sharing the
// Display's context.
- display_->Initialize(this, surface_manager_);
+ display_->Initialize(this, surface_manager_, framesink_manager_);
Fady Samuel 2017/02/12 19:04:07 Does Display do anything useful with SurfaceManage
k.devara 2017/02/13 06:47:34 surface_manager itself is used to get surface_id f
return true;
}
void DirectCompositorFrameSink::DetachFromClient() {
// Unregister the SurfaceFactoryClient here instead of the dtor so that only
// one client is alive for this namespace at any given time.
- surface_manager_->UnregisterSurfaceFactoryClient(frame_sink_id_);
+ framesink_manager_->UnregisterSurfaceFactoryClient(frame_sink_id_);
factory_.EvictSurface();
CompositorFrameSink::DetachFromClient();

Powered by Google App Engine
This is Rietveld 408576698