| Index: trunk/src/ui/compositor/compositor.h
 | 
| ===================================================================
 | 
| --- trunk/src/ui/compositor/compositor.h	(revision 287765)
 | 
| +++ trunk/src/ui/compositor/compositor.h	(working copy)
 | 
| @@ -24,6 +24,8 @@
 | 
|  #include "ui/gfx/size.h"
 | 
|  #include "ui/gfx/vector2d.h"
 | 
|  
 | 
| +class SkBitmap;
 | 
| +
 | 
|  namespace base {
 | 
|  class MessageLoopProxy;
 | 
|  class RunLoop;
 | 
| @@ -157,6 +159,9 @@
 | 
|    // compositing layers on.
 | 
|    float device_scale_factor() const { return device_scale_factor_; }
 | 
|  
 | 
| +  // Draws the scene created by the layer tree and any visual effects.
 | 
| +  void Draw();
 | 
| +
 | 
|    // Where possible, draws are scissored to a damage region calculated from
 | 
|    // changes to layer properties.  This bypasses that and indicates that
 | 
|    // the whole frame needs to be drawn.
 | 
| @@ -229,9 +234,14 @@
 | 
|    virtual void DidCompleteSwapBuffers() OVERRIDE;
 | 
|  
 | 
|    // cc::LayerTreeHostSingleThreadClient implementation.
 | 
| +  virtual void ScheduleComposite() OVERRIDE;
 | 
| +  virtual void ScheduleAnimation() OVERRIDE;
 | 
|    virtual void DidPostSwapBuffers() OVERRIDE;
 | 
|    virtual void DidAbortSwapBuffers() OVERRIDE;
 | 
|  
 | 
| +  int last_started_frame() { return last_started_frame_; }
 | 
| +  int last_ended_frame() { return last_ended_frame_; }
 | 
| +
 | 
|    bool IsLocked() { return compositor_lock_ != NULL; }
 | 
|  
 | 
|    const cc::LayerTreeDebugState& GetLayerTreeDebugState() const;
 | 
| @@ -251,6 +261,9 @@
 | 
|    // Called to release any pending CompositorLock
 | 
|    void CancelCompositorLock();
 | 
|  
 | 
| +  // Notifies the compositor that compositing is complete.
 | 
| +  void NotifyEnd();
 | 
| +
 | 
|    gfx::Size size_;
 | 
|  
 | 
|    ui::ContextFactory* context_factory_;
 | 
| @@ -281,8 +294,19 @@
 | 
|  
 | 
|    CompositorLock* compositor_lock_;
 | 
|  
 | 
| +  // Prevent more than one draw from being scheduled.
 | 
| +  bool defer_draw_scheduling_;
 | 
| +
 | 
| +  // Used to prevent Draw()s while a composite is in progress.
 | 
| +  bool waiting_on_compositing_end_;
 | 
| +  bool draw_on_compositing_end_;
 | 
| +  enum SwapState { SWAP_NONE, SWAP_POSTED, SWAP_COMPLETED };
 | 
| +  SwapState swap_state_;
 | 
| +
 | 
|    LayerAnimatorCollection layer_animator_collection_;
 | 
|  
 | 
| +  base::WeakPtrFactory<Compositor> schedule_draw_factory_;
 | 
| +
 | 
|    DISALLOW_COPY_AND_ASSIGN(Compositor);
 | 
|  };
 | 
|  
 | 
| 
 |