Chromium Code Reviews| Index: components/exo/compositor_frame_sink_holder.h |
| diff --git a/components/exo/compositor_frame_sink_holder.h b/components/exo/compositor_frame_sink_holder.h |
| index 59cc9879e8908be5adeeae3adf1a92fa5b83bd4c..363aea2c0bd00a7e214cbdcd5bddf91d58918f3a 100644 |
| --- a/components/exo/compositor_frame_sink_holder.h |
| +++ b/components/exo/compositor_frame_sink_holder.h |
| @@ -79,14 +79,13 @@ class CompositorFrameSinkHolder |
| void UpdateNeedsBeginFrame(); |
| - // Each release callback holds a reference to the CompositorFrameSinkHolder |
| - // itself to keep it alive. Running and erasing the callbacks might result in |
| - // the instance being destroyed. Therefore, we should not access any member |
| - // variables after running and erasing the callbacks. |
| + // Each release callback should should take a |
|
reveman
2016/12/22 17:00:53
Isn't this beyond the details of this class? If th
Alex Z.
2016/12/22 18:08:48
Done.
|
| + // scoped_refptr<CompositorFrameSinkHolder> so that CompositorFrameSinkHolder |
| + // lives at least until all callbacks are run. Running the |
| + // callbacks might result in the instance being destroyed. Therefore, we |
| + // should not access any member variables after running the callbacks. |
| using ResourceReleaseCallbackMap = |
| - std::map<int, |
| - std::pair<scoped_refptr<CompositorFrameSinkHolder>, |
| - std::unique_ptr<cc::SingleReleaseCallback>>>; |
| + std::map<int, std::unique_ptr<cc::SingleReleaseCallback>>; |
| ResourceReleaseCallbackMap release_callbacks_; |
| Surface* surface_; |