Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4028)

Unified Diff: cc/surfaces/surface.h

Issue 2760433002: SurfaceManager::CreateSurface must set the surface's factory (Closed)
Patch Set: Reset Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/surfaces/compositor_frame_sink_support_unittest.cc ('k') | cc/surfaces/surface.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « cc/surfaces/compositor_frame_sink_support_unittest.cc ('k') | cc/surfaces/surface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698