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); |