summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/render_widget_host_view_aura.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host/render_widget_host_view_aura.h')
-rw-r--r--content/browser/renderer_host/render_widget_host_view_aura.h25
1 files changed, 19 insertions, 6 deletions
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 f5939df..bf64c2c 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -15,6 +15,8 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
+#include "cc/layers/delegated_frame_provider.h"
+#include "cc/layers/delegated_frame_resource_collection.h"
#include "cc/resources/texture_mailbox.h"
#include "content/browser/accessibility/browser_accessibility_manager.h"
#include "content/browser/aura/image_transport_factory.h"
@@ -77,7 +79,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
public ImageTransportFactoryObserver,
public BrowserAccessibilityDelegate,
public FrameContainer,
- public base::SupportsWeakPtr<RenderWidgetHostViewAura> {
+ public base::SupportsWeakPtr<RenderWidgetHostViewAura>,
+ public cc::DelegatedFrameResourceCollectionClient {
public:
// Used to notify whenever the paint-content of the view changes.
class PaintObserver {
@@ -516,11 +519,13 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
const ui::LatencyInfo& latency_info);
void SendDelegatedFrameAck(uint32 output_surface_id);
- void SwapSoftwareFrame(
- uint32 output_surface_id,
- scoped_ptr<cc::SoftwareFrameData> frame_data,
- float frame_device_scale_factor,
- const ui::LatencyInfo& latency_info);
+ // cc::DelegatedFrameProviderClient implementation.
+ virtual void UnusedResourcesAreAvailable() OVERRIDE;
+
+ void SwapSoftwareFrame(uint32 output_surface_id,
+ scoped_ptr<cc::SoftwareFrameData> frame_data,
+ float frame_device_scale_factor,
+ const ui::LatencyInfo& latency_info);
void SendSoftwareFrameAck(uint32 output_surface_id);
void SendReclaimSoftwareFrames();
void ReleaseSoftwareFrame(uint32 output_surface_id,
@@ -619,6 +624,14 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
// skipped.
bool skipped_frames_;
+ // Holds delegated resources that have been given to a DelegatedFrameProvider,
+ // and gives back resources when they are no longer in use for return to the
+ // renderer.
+ scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_;
+
+ // Provides delegated frame updates to the cc::DelegatedRendererLayer.
+ scoped_refptr<cc::DelegatedFrameProvider> frame_provider_;
+
// The size of the last frame that was swapped (even if we skipped it).
// Used to determine when the skipped_damage_ needs to be reset due to
// size changes between front- and backbuffer.