summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/render_widget_host_view_qt.h')
-rw-r--r--src/core/render_widget_host_view_qt.h64
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;
};