Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_aura.h |
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h |
| index f333eed33b0e013051235ce185ae8371b83f8618..d64e5035aa2ea4acec0e1338e2c1cb62194cf84f 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_aura.h |
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.h |
| @@ -388,6 +388,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura |
| FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| SkippedDelegatedFrames); |
| FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange); |
| + FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| + DiscardDelegatedFrames); |
| class WindowObserver; |
| friend class WindowObserver; |
| @@ -395,6 +397,25 @@ class CONTENT_EXPORT RenderWidgetHostViewAura |
| class TransientWindowObserver; |
| friend class TransientWindowObserver; |
| #endif |
| + class DelegatedFrameEvictionObserver : public RendererFrameManagerClient { |
|
danakj
2013/10/28 21:39:21
What if this was a class in a standalone file in c
piman
2013/10/28 22:08:38
Done, though I left in c/b/renderer_host, because
|
| + public: |
| + explicit DelegatedFrameEvictionObserver(RenderWidgetHostViewAura* view); |
| + virtual ~DelegatedFrameEvictionObserver(); |
| + |
| + void SwappedFrame(bool visible); |
| + void DiscardedFrame(); |
| + void SetVisible(bool visible); |
| + |
| + private: |
| + // RendererFrameManagerClient implementation |
| + virtual void EvictCurrentFrame() OVERRIDE; |
| + |
| + RenderWidgetHostViewAura* view_; |
| + bool has_frame_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(DelegatedFrameEvictionObserver); |
| + }; |
| + friend class DelegatedFrameEvictionObserver; |
| // Overridden from ImageTransportFactoryObserver: |
| virtual void OnLostResources() OVERRIDE; |
| @@ -526,6 +547,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura |
| const ui::LatencyInfo& latency_info); |
| void SendDelegatedFrameAck(uint32 output_surface_id); |
| void SendReturnedDelegatedResources(uint32 output_surface_id); |
| + void EvictDelegatedFrame(); |
| // cc::DelegatedFrameProviderClient implementation. |
| virtual void UnusedResourcesAreAvailable() OVERRIDE; |
| @@ -754,6 +776,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura |
| unsigned frame_id; |
| }; |
| scoped_ptr<ReleasedFrameInfo> released_software_frame_; |
| + DelegatedFrameEvictionObserver delegated_frame_eviction_observer_; |
| base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_; |
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); |