Index: cc/surfaces/surface_manager.h |
diff --git a/cc/surfaces/surface_manager.h b/cc/surfaces/surface_manager.h |
index e4b6f17c5f6efd6e22edeca7795c5dfe9db6748d..c0c8e76324f00e8bec7c4980b559d9f7f2e29060 100644 |
--- a/cc/surfaces/surface_manager.h |
+++ b/cc/surfaces/surface_manager.h |
@@ -36,6 +36,7 @@ namespace cc { |
class BeginFrameSource; |
class CompositorFrame; |
class Surface; |
+class SurfaceFactory; |
class SurfaceFactoryClient; |
namespace test { |
@@ -65,11 +66,12 @@ class CC_SURFACES_EXPORT SurfaceManager { |
void RequestSurfaceResolution(Surface* pending_surface); |
- void RegisterSurface(Surface* surface); |
- void DeregisterSurface(const SurfaceId& surface_id); |
+ std::unique_ptr<Surface> CreateSurface( |
+ base::WeakPtr<SurfaceFactory> surface_factory, |
+ const LocalSurfaceId& local_surface_id); |
// Destroy the Surface once a set of sequence numbers has been satisfied. |
- void Destroy(std::unique_ptr<Surface> surface); |
+ void DestroySurface(std::unique_ptr<Surface> surface); |
Surface* GetSurfaceForId(const SurfaceId& surface_id); |
@@ -216,6 +218,10 @@ class CC_SURFACES_EXPORT SurfaceManager { |
// |surface_id| that were added before |surface_id| will also be removed. |
void RemoveTemporaryReference(const SurfaceId& surface_id, bool remove_range); |
+ // Called when a surface is destroyed and it needs to be removed from the |
+ // surface map. |
+ void UnregisterSurface(const SurfaceId& surface_id); |
+ |
#if DCHECK_IS_ON() |
// Recursively prints surface references starting at |surface_id| to |str|. |
void SurfaceReferencesToStringImpl(const SurfaceId& surface_id, |