| Index: content/browser/compositor/delegated_frame_host.h
 | 
| diff --git a/content/browser/compositor/delegated_frame_host.h b/content/browser/compositor/delegated_frame_host.h
 | 
| index 917623ef506f02e1e89a482a7a5ef92baa5fdaad..f208c267e3f2eab3da530a6a29402c33a83a6d03 100644
 | 
| --- a/content/browser/compositor/delegated_frame_host.h
 | 
| +++ b/content/browser/compositor/delegated_frame_host.h
 | 
| @@ -18,6 +18,7 @@
 | 
|  #include "content/public/browser/render_process_host.h"
 | 
|  #include "ui/compositor/compositor.h"
 | 
|  #include "ui/compositor/compositor_observer.h"
 | 
| +#include "ui/compositor/compositor_vsync_manager.h"
 | 
|  #include "ui/compositor/layer.h"
 | 
|  #include "ui/compositor/layer_owner_delegate.h"
 | 
|  #include "ui/gfx/geometry/rect_conversions.h"
 | 
| @@ -60,6 +61,10 @@
 | 
|        int output_surface_id,
 | 
|        const cc::CompositorFrameAck& ack) = 0;
 | 
|    virtual void DelegatedFrameHostOnLostCompositorResources() = 0;
 | 
| +
 | 
| +  virtual void DelegatedFrameHostUpdateVSyncParameters(
 | 
| +      const base::TimeTicks& timebase,
 | 
| +      const base::TimeDelta& interval) = 0;
 | 
|  };
 | 
|  
 | 
|  // The DelegatedFrameHost is used to host all of the RenderWidgetHostView state
 | 
| @@ -68,6 +73,7 @@
 | 
|  // the ui::Compositor associated with its DelegatedFrameHostClient.
 | 
|  class CONTENT_EXPORT DelegatedFrameHost
 | 
|      : public ui::CompositorObserver,
 | 
| +      public ui::CompositorVSyncManager::Observer,
 | 
|        public ui::LayerOwnerDelegate,
 | 
|        public ImageTransportFactoryObserver,
 | 
|        public DelegatedFrameEvictorClient,
 | 
| @@ -93,7 +99,6 @@
 | 
|    gfx::Size GetRequestedRendererSize() const;
 | 
|    void SetCompositor(ui::Compositor* compositor);
 | 
|    void ResetCompositor();
 | 
| -  void SetVSyncParameters(base::TimeTicks timebase, base::TimeDelta interval);
 | 
|    // Note: |src_subset| is specified in DIP dimensions while |output_size|
 | 
|    // expects pixels.
 | 
|    void CopyFromCompositingSurface(const gfx::Rect& src_subrect,
 | 
| @@ -152,6 +157,10 @@
 | 
|    void OnCompositingAborted(ui::Compositor* compositor) override;
 | 
|    void OnCompositingLockStateChanged(ui::Compositor* compositor) override;
 | 
|    void OnCompositingShuttingDown(ui::Compositor* compositor) override;
 | 
| +
 | 
| +  // Overridden from ui::CompositorVSyncManager::Observer:
 | 
| +  void OnUpdateVSyncParameters(base::TimeTicks timebase,
 | 
| +                               base::TimeDelta interval) override;
 | 
|  
 | 
|    // Overridden from ui::LayerOwnerObserver:
 | 
|    void OnLayerRecreated(ui::Layer* old_layer, ui::Layer* new_layer) override;
 | 
| @@ -234,8 +243,11 @@
 | 
|  
 | 
|    std::vector<base::Closure> on_compositing_did_commit_callbacks_;
 | 
|  
 | 
| +  // The vsync manager we are observing for changes, if any.
 | 
| +  scoped_refptr<ui::CompositorVSyncManager> vsync_manager_;
 | 
| +
 | 
|    // The current VSync timebase and interval. These are zero until the first
 | 
| -  // call to UpdateVSyncParameters().
 | 
| +  // call to OnUpdateVSyncParameters().
 | 
|    base::TimeTicks vsync_timebase_;
 | 
|    base::TimeDelta vsync_interval_;
 | 
|  
 | 
| 
 |