| Index: cc/surfaces/surface.h
|
| diff --git a/cc/surfaces/surface.h b/cc/surfaces/surface.h
|
| index 403d2e56baf6f8a575509050152fb4bc90bccbc8..c76530b84699022095357268c2955b00809e2f1d 100644
|
| --- a/cc/surfaces/surface.h
|
| +++ b/cc/surfaces/surface.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef CC_SURFACES_SURFACE_H_
|
| #define CC_SURFACES_SURFACE_H_
|
|
|
| +#include "base/callback.h"
|
| #include "base/containers/hash_tables.h"
|
| #include "base/macros.h"
|
| #include "base/memory/scoped_ptr.h"
|
| @@ -26,10 +27,13 @@ class CC_SURFACES_EXPORT Surface {
|
| const gfx::Size& size() const { return size_; }
|
| SurfaceId surface_id() const { return surface_id_; }
|
|
|
| - void QueueFrame(scoped_ptr<CompositorFrame> frame);
|
| + void QueueFrame(scoped_ptr<CompositorFrame> frame,
|
| + const base::Closure& draw_callback);
|
| // Returns the most recent frame that is eligible to be rendered.
|
| const CompositorFrame* GetEligibleFrame();
|
|
|
| + void RunDrawCallbacks();
|
| +
|
| SurfaceFactory* factory() { return factory_; }
|
|
|
| private:
|
| @@ -39,6 +43,8 @@ class CC_SURFACES_EXPORT Surface {
|
| // TODO(jamesr): Support multiple frames in flight.
|
| scoped_ptr<CompositorFrame> current_frame_;
|
|
|
| + base::Closure draw_callback_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(Surface);
|
| };
|
|
|
|
|