summaryrefslogtreecommitdiffstats
path: root/lib/render_widget_host_view_qt.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/render_widget_host_view_qt.h')
-rw-r--r--lib/render_widget_host_view_qt.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/render_widget_host_view_qt.h b/lib/render_widget_host_view_qt.h
index 97261ca92..337351b69 100644
--- a/lib/render_widget_host_view_qt.h
+++ b/lib/render_widget_host_view_qt.h
@@ -45,6 +45,7 @@
#include "shared/shared_globals.h"
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "ui/base/gestures/gesture_recognizer.h"
#include "ui/base/gestures/gesture_types.h"
@@ -87,6 +88,7 @@ class RenderWidgetHostViewQt
: public content::RenderWidgetHostViewBase
, public ui::GestureConsumer
, public ui::GestureEventHelper
+ , public base::SupportsWeakPtr<RenderWidgetHostViewQt>
{
public:
RenderWidgetHostViewQt(content::RenderWidgetHost* widget);
@@ -95,6 +97,8 @@ public:
void setDelegate(RenderWidgetHostViewQtDelegate *delegate);
void setAdapterClient(WebContentsAdapterClient *adapterClient);
bool handleEvent(QEvent* event);
+ cc::DelegatedFrameData *pendingDelegatedFrame() const { return m_pendingFrameData.get(); }
+ void releaseAndAckDelegatedFrame();
BackingStoreQt* GetBackingStore();
virtual content::BackingStore *AllocBackingStore(const gfx::Size &size);
@@ -147,6 +151,7 @@ public:
virtual void AcceleratedSurfaceSuspend();
virtual void AcceleratedSurfaceRelease();
virtual bool HasAcceleratedSurface(const gfx::Size&);
+ virtual void OnSwapCompositorFrame(uint32 output_surface_id, scoped_ptr<cc::CompositorFrame> frame) Q_DECL_OVERRIDE;
virtual void GetScreenInfo(WebKit::WebScreenInfo* results);
virtual gfx::Rect GetBoundsInRootWindow();
virtual gfx::GLSurfaceHandle GetCompositingSurface();
@@ -182,6 +187,7 @@ public:
private:
void Paint(const gfx::Rect& damage_rect);
+ void SwapDelegatedFrame(uint32 output_surface_id, scoped_ptr<cc::DelegatedFrameData> frame_data, float frame_device_scale_factor, const ui::LatencyInfo& latency_info);
void ProcessGestures(ui::GestureRecognizer::Gestures *gestures);
int GetMappedTouch(int qtTouchId);
void RemoveExpiredMappings(QTouchEvent *ev);
@@ -193,6 +199,10 @@ private:
QMap<int, int> m_touchIdMapping;
WebKit::WebTouchEvent m_accumTouchEvent;
scoped_ptr<RenderWidgetHostViewQtDelegate> m_delegate;
+
+ uint32 m_pendingOutputSurfaceId;
+ scoped_ptr<cc::DelegatedFrameData> m_pendingFrameData;
+
WebContentsAdapterClient *m_adapterClient;
MultipleMouseClickHelper m_clickHelper;