Index: cc/surfaces/surface.h |
diff --git a/cc/surfaces/surface.h b/cc/surfaces/surface.h |
index 718fef4a1fd5782eaeb43a6b474d2a807ce8d302..0df5c1718d56d1d9e5198272e289abef1b03343d 100644 |
--- a/cc/surfaces/surface.h |
+++ b/cc/surfaces/surface.h |
@@ -11,6 +11,7 @@ |
#include "base/containers/hash_tables.h" |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/memory/weak_ptr.h" |
#include "cc/base/scoped_ptr_vector.h" |
#include "cc/output/copy_output_request.h" |
#include "cc/surfaces/surface_id.h" |
@@ -50,12 +51,12 @@ class CC_SURFACES_EXPORT Surface { |
void TakeLatencyInfo(std::vector<ui::LatencyInfo>* latency_info); |
void RunDrawCallbacks(); |
- SurfaceFactory* factory() { return factory_; } |
+ base::WeakPtr<SurfaceFactory> factory() { return factory_; } |
private: |
SurfaceId surface_id_; |
gfx::Size size_; |
- SurfaceFactory* factory_; |
+ base::WeakPtr<SurfaceFactory> factory_; |
// TODO(jamesr): Support multiple frames in flight. |
scoped_ptr<CompositorFrame> current_frame_; |
int frame_index_; |