Index: cc/surfaces/surface_manager.h |
diff --git a/cc/surfaces/surface_manager.h b/cc/surfaces/surface_manager.h |
index 5dd3bb2bfb162bc1b61589d27319754afcf10b38..58fed589f897e6866e7a333875138eeb6f3d43e1 100644 |
--- a/cc/surfaces/surface_manager.h |
+++ b/cc/surfaces/surface_manager.h |
@@ -17,6 +17,7 @@ |
#include "base/macros.h" |
#include "base/observer_list.h" |
#include "base/threading/thread_checker.h" |
+#include "cc/surfaces/direct_surface_reference_factory.h" |
#include "cc/surfaces/frame_sink_id.h" |
#include "cc/surfaces/surface_id.h" |
#include "cc/surfaces/surface_observer.h" |
@@ -117,6 +118,10 @@ class CC_SURFACES_EXPORT SurfaceManager |
size_t GetSurfaceReferenceCount(const SurfaceId& surface_id) const override; |
size_t GetReferencedSurfaceCount(const SurfaceId& surface_id) const override; |
+ scoped_refptr<SurfaceReferenceFactory> reference_factory() { |
+ return reference_factory_; |
+ } |
+ |
private: |
void RecursivelyAttachBeginFrameSource(const FrameSinkId& frame_sink_id, |
BeginFrameSource* source); |
@@ -196,6 +201,10 @@ class CC_SURFACES_EXPORT SurfaceManager |
// with this id, it's for bookkeeping purposes only. |
const SurfaceId root_surface_id_; |
+ // The DirectSurfaceReferenceFactory that uses this manager to create surface |
+ // references. |
+ scoped_refptr<SurfaceReferenceFactory> reference_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SurfaceManager); |
}; |