diff options
Diffstat (limited to 'src/core/render_widget_host_view_qt.h')
-rw-r--r-- | src/core/render_widget_host_view_qt.h | 64 |
1 files changed, 24 insertions, 40 deletions
diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index cc62fa110..6a1134ac0 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -45,7 +45,9 @@ #include "base/memory/weak_ptr.h" #include "components/viz/common/frame_sinks/begin_frame_source.h" #include "components/viz/common/resources/transferable_resource.h" +#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h" #include "content/browser/accessibility/browser_accessibility_manager.h" +#include "content/browser/renderer_host/input/mouse_wheel_phase_handler.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/renderer_host/text_input_manager.h" #include "content/common/view_messages.h" @@ -58,21 +60,10 @@ #include <QtGui/qaccessible.h> #include <QtGui/QTouchEvent> -#include "delegated_frame_node.h" - QT_BEGIN_NAMESPACE -class QEvent; -class QFocusEvent; -class QHoverEvent; -class QKeyEvent; -class QMouseEvent; -class QVariant; -class QWheelEvent; class QAccessibleInterface; QT_END_NAMESPACE -class WebContentsAdapterClient; - namespace content { class RenderFrameHost; class RenderWidgetHostImpl; @@ -80,6 +71,8 @@ class RenderWidgetHostImpl; namespace QtWebEngineCore { +class Compositor; + struct MultipleMouseClickHelper { QPoint lastPressPosition; @@ -101,7 +94,6 @@ class RenderWidgetHostViewQt , public ui::GestureProviderClient , public RenderWidgetHostViewQtDelegateClient , public base::SupportsWeakPtr<RenderWidgetHostViewQt> - , public viz::BeginFrameObserverBase #ifndef QT_NO_ACCESSIBILITY , public QAccessible::ActivationObserver #endif // QT_NO_ACCESSIBILITY @@ -124,11 +116,9 @@ public: void InitAsChild(gfx::NativeView) override; void InitAsPopup(content::RenderWidgetHostView*, const gfx::Rect&) override; void InitAsFullscreen(content::RenderWidgetHostView*) override; - content::RenderWidgetHostImpl* GetRenderWidgetHostImpl() const override; void SetSize(const gfx::Size& size) override; void SetBounds(const gfx::Rect&) override; - gfx::Vector2dF GetLastScrollOffset() const override; - gfx::Size GetPhysicalBackingSize() const override; + gfx::Size GetCompositorViewportPixelSize() const override; gfx::NativeView GetNativeView() const override; gfx::NativeViewAccessible GetNativeViewAccessible() override; void Focus() override; @@ -138,29 +128,37 @@ public: void Hide() override; bool IsShowing() override; gfx::Rect GetViewBounds() const override; - SkColor background_color() const override; - void SetBackgroundColor(SkColor color) override; + void UpdateBackgroundColor() override; bool LockMouse() override; void UnlockMouse() override; void UpdateCursor(const content::WebCursor&) override; + void DisplayCursor(const content::WebCursor&) override; void SetIsLoading(bool) override; void ImeCancelComposition() override; void ImeCompositionRangeChanged(const gfx::Range&, const std::vector<gfx::Rect>&) override; void RenderProcessGone(base::TerminationStatus, int) override; void Destroy() override; void SetTooltipText(const base::string16 &tooltip_text) override; - bool HasAcceleratedSurface(const gfx::Size&) override; + void DisplayTooltipText(const base::string16& tooltip_text) override; void DidCreateNewRendererCompositorFrameSink(viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink) override; - void SubmitCompositorFrame(const viz::LocalSurfaceId&, viz::CompositorFrame, viz::mojom::HitTestRegionListPtr) override; + void SubmitCompositorFrame(const viz::LocalSurfaceId&, viz::CompositorFrame, base::Optional<viz::HitTestRegionList>) override; void WheelEventAck(const blink::WebMouseWheelEvent &event, content::InputEventAckState ack_result) override; + content::MouseWheelPhaseHandler *GetMouseWheelPhaseHandler() override; + viz::ScopedSurfaceIdAllocator DidUpdateVisualProperties(const cc::RenderFrameMetadata &metadata) override; + void OnDidUpdateVisualPropertiesComplete(const cc::RenderFrameMetadata &metadata); - void GetScreenInfo(content::ScreenInfo* results); + void GetScreenInfo(content::ScreenInfo* results) const override; gfx::Rect GetBoundsInRootWindow() override; void ProcessAckedTouchEvent(const content::TouchEventWithLatencyInfo &touch, content::InputEventAckState ack_result) override; void ClearCompositorFrame() override; void SetNeedsBeginFrames(bool needs_begin_frames) override; void SetWantsAnimateOnlyBeginFrames() override; viz::SurfaceId GetCurrentSurfaceId() const override; + const viz::FrameSinkId &GetFrameSinkId() const override; + const viz::LocalSurfaceId &GetLocalSurfaceId() const override; + void TakeFallbackContentFrom(content::RenderWidgetHostView *view) override; + void EnsureSurfaceSynchronizedForLayoutTest() override; + uint32_t GetCaptureSequenceNumber() const override; // Overridden from ui::GestureProviderClient. void OnGestureEvent(const ui::GestureEventData& gesture) override; @@ -181,10 +179,6 @@ public: void OnSelectionBoundsChanged(content::TextInputManager *text_input_manager, RenderWidgetHostViewBase *updated_view) override; void OnTextSelectionChanged(content::TextInputManager *text_input_manager, RenderWidgetHostViewBase *updated_view) override; - // cc::BeginFrameObserverBase implementation. - bool OnBeginFrameDerivedImpl(const viz::BeginFrameArgs& args) override; - void OnBeginFrameSourcePausedChanged(bool paused) override; - void handleMouseEvent(QMouseEvent*); void handleKeyEvent(QKeyEvent*); void handleWheelEvent(QWheelEvent*); @@ -204,10 +198,7 @@ public: #if defined(OS_MACOSX) void SetActive(bool active) override { QT_NOT_YET_IMPLEMENTED } - bool IsSpeaking() const override { QT_NOT_YET_IMPLEMENTED; return false; } void SpeakSelection() override { QT_NOT_YET_IMPLEMENTED } - void StopSpeaking() override { QT_NOT_YET_IMPLEMENTED } - bool SupportsSpeech() const override { QT_NOT_YET_IMPLEMENTED; return false; } void ShowDefinitionForSelection() override { QT_NOT_YET_IMPLEMENTED } #endif // defined(OS_MACOSX) @@ -221,9 +212,9 @@ public: void setLoadVisuallyCommittedState(LoadVisuallyCommittedState state) { m_loadVisuallyCommittedState = state; } gfx::SizeF lastContentsSize() const { return m_lastContentsSize; } + gfx::Vector2dF lastScrollOffset() const { return m_lastScrollOffset; } private: - void sendDelegatedFrameAck(); void processMotionEvent(const ui::MotionEvent &motionEvent); void clearPreviousTouchMotionState(); QList<QTouchEvent::TouchPoint> mapTouchPointIds(const QList<QTouchEvent::TouchPoint> &inputPoints); @@ -236,7 +227,6 @@ private: content::RenderFrameHost *getFocusedFrameHost(); ui::TextInputType getTextInputType() const; - content::RenderWidgetHostImpl *m_host; ui::FilteredGestureProvider m_gestureProvider; base::TimeDelta m_eventsToNowDelta; bool m_sendMotionActionDown; @@ -245,30 +235,21 @@ private: QList<QTouchEvent::TouchPoint> m_previousTouchPoints; std::unique_ptr<RenderWidgetHostViewQtDelegate> m_delegate; - QExplicitlySharedDataPointer<ChromiumCompositorData> m_chromiumCompositorData; - std::vector<viz::ReturnedResource> m_resourcesToRelease; - bool m_needsDelegatedFrameAck; + std::unique_ptr<Compositor> m_compositor; LoadVisuallyCommittedState m_loadVisuallyCommittedState; QMetaObject::Connection m_adapterClientDestroyedConnection; WebContentsAdapterClient *m_adapterClient; MultipleMouseClickHelper m_clickHelper; - viz::mojom::CompositorFrameSinkClient *m_rendererCompositorFrameSink; bool m_imeInProgress; bool m_receivedEmptyImeEvent; QPoint m_previousMousePosition; - bool m_initPending; - - std::unique_ptr<viz::SyntheticBeginFrameSource> m_beginFrameSource; - bool m_needsBeginFrames; - bool m_addedFrameObserver; - gfx::Vector2dF m_lastScrollOffset; gfx::SizeF m_lastContentsSize; - SkColor m_backgroundColor; viz::LocalSurfaceId m_localSurfaceId; + viz::ParentLocalSurfaceIdAllocator m_localSurfaceIdAllocator; uint m_imState; int m_anchorPositionWithinSelection; @@ -280,8 +261,11 @@ private: bool m_imeHasHiddenTextCapability; bool m_wheelAckPending; + bool m_pendingResize; QList<blink::WebMouseWheelEvent> m_pendingWheelEvents; + content::MouseWheelPhaseHandler m_mouseWheelPhaseHandler; + uint32_t m_latestCaptureSequenceNumber = 0u; std::string m_editCommand; }; |