Index: cc/surfaces/surface_manager.h |
diff --git a/cc/surfaces/surface_manager.h b/cc/surfaces/surface_manager.h |
index 81ca648fc15b73516bb3c76ceab0b3eb85189b7e..a17d5a7717f9ad44596ebbe9d3a2c0b761a0479c 100644 |
--- a/cc/surfaces/surface_manager.h |
+++ b/cc/surfaces/surface_manager.h |
@@ -21,6 +21,7 @@ |
#include "cc/surfaces/frame_sink_id.h" |
#include "cc/surfaces/surface_id.h" |
#include "cc/surfaces/surface_observer.h" |
+#include "cc/surfaces/surface_reference_factory.h" |
#include "cc/surfaces/surface_reference_manager.h" |
#include "cc/surfaces/surface_sequence.h" |
#include "cc/surfaces/surfaces_export.h" |
@@ -118,7 +119,9 @@ class CC_SURFACES_EXPORT SurfaceManager |
size_t GetSurfaceReferenceCount(const SurfaceId& surface_id) const override; |
size_t GetReferencedSurfaceCount(const SurfaceId& surface_id) const override; |
- base::WeakPtr<SurfaceManager> GetWeakPtr(); |
+ scoped_refptr<SurfaceReferenceFactory> reference_factory() { |
+ return reference_factory_; |
+ } |
private: |
void RecursivelyAttachBeginFrameSource(const FrameSinkId& frame_sink_id, |
@@ -199,6 +202,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_; |
+ |
base::WeakPtrFactory<SurfaceManager> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(SurfaceManager); |