| Index: content/browser/renderer_host/render_widget_host_view_mac.h | 
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h | 
| index 6a9caaa504b695cb70067300ea2b2b6293f28fb6..4046368465a6405059abbed0ae7ff21dfa4b0a14 100644 | 
| --- a/content/browser/renderer_host/render_widget_host_view_mac.h | 
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.h | 
| @@ -18,6 +18,7 @@ | 
| #include "base/time/time.h" | 
| #include "content/browser/accessibility/browser_accessibility_delegate_mac.h" | 
| #include "content/browser/renderer_host/render_widget_host_view_base.h" | 
| +#include "content/browser/renderer_host/software_frame_manager.h" | 
| #include "content/common/edit_command.h" | 
| #import "content/public/browser/render_widget_host_view_mac_base.h" | 
| #include "ipc/ipc_sender.h" | 
| @@ -196,7 +197,8 @@ class RenderWidgetHostImpl; | 
| // | 
| // RenderWidgetHostView class hierarchy described in render_widget_host_view.h. | 
| class RenderWidgetHostViewMac : public RenderWidgetHostViewBase, | 
| -                                public IPC::Sender { | 
| +                                public IPC::Sender, | 
| +                                public SoftwareFrameManagerClient { | 
| public: | 
| virtual ~RenderWidgetHostViewMac(); | 
|  | 
| @@ -283,6 +285,8 @@ class RenderWidgetHostViewMac : public RenderWidgetHostViewBase, | 
| virtual void BeginFrameSubscription( | 
| scoped_ptr<RenderWidgetHostViewFrameSubscriber> subscriber) OVERRIDE; | 
| virtual void EndFrameSubscription() OVERRIDE; | 
| +  virtual void OnSwapCompositorFrame( | 
| +      uint32 output_surface_id, scoped_ptr<cc::CompositorFrame> frame) OVERRIDE; | 
| virtual void OnAcceleratedCompositingStateChange() OVERRIDE; | 
| virtual void OnAccessibilityEvents( | 
| const std::vector<AccessibilityHostMsg_EventParams>& params | 
| @@ -316,6 +320,11 @@ class RenderWidgetHostViewMac : public RenderWidgetHostViewBase, | 
| // IPC::Sender implementation. | 
| virtual bool Send(IPC::Message* message) OVERRIDE; | 
|  | 
| +  // SoftwareFrameManagerClient implementation: | 
| +  virtual void SoftwareFrameWasFreed( | 
| +      uint32 output_surface_id, unsigned frame_id) OVERRIDE; | 
| +  virtual void CurrentSoftwareFrameWasEvicted() OVERRIDE; | 
| + | 
| // Forwards the mouse event to the renderer. | 
| void ForwardMouseEvent(const WebKit::WebMouseEvent& event); | 
|  | 
| @@ -412,6 +421,9 @@ class RenderWidgetHostViewMac : public RenderWidgetHostViewBase, | 
| scoped_ptr<CompositingIOSurfaceMac> compositing_iosurface_; | 
| scoped_refptr<CompositingIOSurfaceContext> compositing_iosurface_context_; | 
|  | 
| +  // This holds the current software compositing framebuffer, if any. | 
| +  scoped_ptr<SoftwareFrameManager> software_frame_manager_; | 
| + | 
| // Whether to allow overlapping views. | 
| bool allow_overlapping_views_; | 
|  | 
| @@ -552,6 +564,8 @@ class RenderWidgetHostViewMac : public RenderWidgetHostViewBase, | 
| // Subscriber that listens to frame presentation events. | 
| scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; | 
|  | 
| +  base::WeakPtrFactory<RenderWidgetHostViewMac> | 
| +      software_frame_weak_ptr_factory_; | 
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); | 
| }; | 
|  | 
|  |