diff options
Diffstat (limited to 'lib/render_widget_host_view_qt.h')
-rw-r--r-- | lib/render_widget_host_view_qt.h | 10 |
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; |