Index: cc/surfaces/onscreen_display_client.h |
diff --git a/cc/surfaces/onscreen_display_client.h b/cc/surfaces/onscreen_display_client.h |
index 4c4245d4161eb3e04120f582ce04fed82c8a3872..30943066d3dc4d8518682f6a9ae3b245eecc0617 100644 |
--- a/cc/surfaces/onscreen_display_client.h |
+++ b/cc/surfaces/onscreen_display_client.h |
@@ -53,11 +53,14 @@ class CC_SURFACES_EXPORT OnscreenDisplayClient |
protected: |
scoped_ptr<OutputSurface> output_surface_; |
- scoped_ptr<Display> display_; |
+ // Be careful of destruction order: |
+ // Display depends on DisplayScheduler depends on *BeginFrameSource |
+ // depends on TaskRunner. |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
scoped_ptr<SyntheticBeginFrameSource> synthetic_frame_source_; |
scoped_ptr<BackToBackBeginFrameSource> unthrottled_frame_source_; |
scoped_ptr<DisplayScheduler> scheduler_; |
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
+ scoped_ptr<Display> display_; |
SurfaceDisplayOutputSurface* surface_display_output_surface_; |
bool output_surface_lost_; |
bool disable_display_vsync_; |