Index: cc/surfaces/surface.h |
diff --git a/cc/surfaces/surface.h b/cc/surfaces/surface.h |
index f35740ab3f0ea3ae2b1141129ca50c74b8136075..31b6fa560f23a5bcc5530b400a5aad785f442f72 100644 |
--- a/cc/surfaces/surface.h |
+++ b/cc/surfaces/surface.h |
@@ -56,6 +56,12 @@ class CC_SURFACES_EXPORT Surface { |
void EvictFrame(); |
void RequestCopyOfOutput(std::unique_ptr<CopyOutputRequest> copy_request); |
+ // This method gets rid of both active and pending frames and leaks their |
+ // resources. |
+ // TODO(samans): This method should not be necessary once crbug.com/701988 is |
+ // fixed. |
+ void Reset(); |
+ |
// Notifies the Surface that a blocking SurfaceId now has an active frame. |
void NotifySurfaceIdAvailable(const SurfaceId& surface_id); |
@@ -87,6 +93,9 @@ class CC_SURFACES_EXPORT Surface { |
void RunDrawCallbacks(); |
base::WeakPtr<SurfaceFactory> factory() { return factory_; } |
+ void set_factory(base::WeakPtr<SurfaceFactory> factory) { |
+ factory_ = factory; |
+ } |
// Add a SurfaceSequence that must be satisfied before the Surface is |
// destroyed. |