summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h')
-rw-r--r--Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h42
1 files changed, 22 insertions, 20 deletions
diff --git a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
index ba540d548..b7595e569 100644
--- a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
+++ b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
@@ -26,6 +26,7 @@
#include <QtCore/QRectF>
#include <QtCore/QVariant>
#include <QtCore/QVariantAnimation>
+#include <WebCore/ViewportArguments.h>
#include <wtf/OwnPtr.h>
QT_BEGIN_NAMESPACE
@@ -58,14 +59,15 @@ public:
qreal currentCSSScale() const;
void setAllowsUserScaling(bool allow) { m_allowsUserScaling = allow; }
- void setContentToDevicePixelRatio(qreal ratio) {m_devicePixelRatio = ratio; }
+ void setDevicePixelRatio(qreal ratio) { m_devicePixelRatio = ratio; }
- void setItemRectVisible(const QRectF&);
- void animateItemRectVisible(const QRectF&);
+ void setPageItemRectVisible(const QRectF&);
+ void animatePageItemRectVisible(const QRectF&);
QRectF nearestValidBounds() const;
- void pagePositionRequest(const QPoint& pos);
+ void pageContentPositionRequest(const QPoint& pos);
+
void touchBegin();
void touchEnd();
@@ -73,11 +75,9 @@ public:
void cancelScrollAnimation();
bool panGestureActive() const;
-
void panGestureStarted(const QPointF& position, qint64 eventTimestampMillis);
void panGestureRequestUpdate(const QPointF& position, qint64 eventTimestampMillis);
void panGestureEnded(const QPointF& position, qint64 eventTimestampMillis);
-
void panGestureCancelled();
bool scaleAnimationActive() const;
@@ -92,32 +92,32 @@ public:
void zoomToAreaGestureEnded(const QPointF& touchPoint, const QRectF& targetArea);
void focusEditableArea(const QRectF& caretArea, const QRectF& targetArea);
+ void viewportAttributesChanged(const WebCore::ViewportAttributes&);
+ void pageContentsSizeChanged(const QSize& newSize, const QSize& viewportSize);
+
Q_SIGNALS:
void contentSuspendRequested();
void contentResumeRequested();
void informVisibleContentChange(const QPointF& trajectory = QPointF());
- void visibleContentRectAndScaleChanged();
-
private Q_SLOTS:
// Respond to changes of content that are not driven by us, like the page resizing itself.
- void itemSizeChanged();
-
- void flickableMovingPositionUpdate();
+ void pageItemSizeChanged();
+ void pageItemPositionChanged();
void scaleAnimationStateChanged(QAbstractAnimation::State, QAbstractAnimation::State);
- void scaleAnimationValueChanged(QVariant value) { setItemRectVisible(value.toRectF()); }
+ void scaleAnimationValueChanged(QVariant value);
- void flickableMoveStarted(); // Called when panning starts.
- void flickableMoveEnded(); // Called when panning (+ kinetic animation) ends.
+ void flickMoveStarted(); // Called when panning starts.
+ void flickMoveEnded(); // Called when panning (+ kinetic animation) ends.
private:
friend class ViewportUpdateDeferrer;
friend class ::QWebKitTest;
- QQuickWebView* const m_viewport;
- QQuickWebPage* const m_content;
+ QQuickWebView* const m_viewportItem;
+ QQuickWebPage* const m_pageItem;
qreal cssScaleFromItem(qreal) const;
qreal itemScaleFromCSS(qreal) const;
@@ -127,6 +127,11 @@ private:
qreal innerBoundedCSSScale(qreal) const;
qreal outerBoundedCSSScale(qreal) const;
+ QRectF computePosRangeForPageItemAtScale(qreal itemScale) const;
+ void scaleContent(const QPointF& centerInCSSCoordinates, qreal cssScale);
+
+ WebCore::ViewportAttributes m_rawAttributes;
+
bool m_allowsUserScaling;
qreal m_minimumScale;
qreal m_maximumScale;
@@ -134,12 +139,9 @@ private:
QSize m_layoutSize;
- QRectF computePosRangeForItemAtScale(qreal itemScale) const;
-
- void scaleContent(const QPointF& centerInCSSCoordinates, qreal cssScale);
-
int m_suspendCount;
bool m_hasSuspendedContent;
+
OwnPtr<ViewportUpdateDeferrer> m_scaleUpdateDeferrer;
OwnPtr<ViewportUpdateDeferrer> m_scrollUpdateDeferrer;
OwnPtr<ViewportUpdateDeferrer> m_touchUpdateDeferrer;