summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp')
-rw-r--r--Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
index 61f2aaf57..6351555cf 100644
--- a/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
@@ -449,7 +449,7 @@ void PageViewportControllerClientQt::pinchGestureStarted(const QPointF& pinchCen
// This can only happen as a result of a user interaction.
ASSERT(m_controller->hadUserInteraction());
- if (!m_controller->allowsUserScaling())
+ if (!m_controller->allowsUserScaling() || !m_viewportItem->isInteractive())
return;
clearRelativeZoomState();
@@ -461,11 +461,10 @@ void PageViewportControllerClientQt::pinchGestureStarted(const QPointF& pinchCen
void PageViewportControllerClientQt::pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor)
{
- ASSERT(m_scaleChange.inProgress());
-
- if (!m_controller->allowsUserScaling())
+ if (!m_controller->allowsUserScaling() || !m_viewportItem->isInteractive())
return;
+ ASSERT(m_scaleChange.inProgress());
ASSERT(m_pinchStartScale > 0);
// Changes of the center position should move the page even if the zoom factor does not change.
const qreal pinchScale = m_pinchStartScale * totalScaleFactor;
@@ -483,11 +482,10 @@ void PageViewportControllerClientQt::pinchGestureRequestUpdate(const QPointF& pi
void PageViewportControllerClientQt::pinchGestureEnded()
{
- ASSERT(m_scaleChange.inProgress());
-
- if (!m_controller->allowsUserScaling())
+ if (m_pinchStartScale < 0)
return;
+ ASSERT(m_scaleChange.inProgress());
m_pinchStartScale = -1;
// This will take care of resuming the content, even if no animation was performed.