Diff
Modified: trunk/Source/WebKit2/ChangeLog (106361 => 106362)
--- trunk/Source/WebKit2/ChangeLog 2012-01-31 16:44:15 UTC (rev 106361)
+++ trunk/Source/WebKit2/ChangeLog 2012-01-31 17:09:13 UTC (rev 106362)
@@ -1,3 +1,28 @@
+2012-01-31 Allan Sandfeld Jensen <[email protected]>
+
+ Ensure tiles are repainted when scrolling using mouse wheel.
+ https://bugs.webkit.org/show_bug.cgi?id=77339
+
+ A new slot visibleContentRectAndScaleChanged has been added
+ that is emited by non-animated scrolling code in the
+ QtViewportInteractionEngine.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::initializeDesktop):
+ (QQuickWebViewPrivate::initializeTouch):
+ (QQuickWebViewPrivate::_q_resume):
+ (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
+ (QQuickWebViewPrivate::updateTouchViewportSize):
+ * UIProcess/API/qt/qquickwebview_p.h:
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate):
+ * UIProcess/qt/QtViewportInteractionEngine.cpp:
+ (WebKit::QtViewportInteractionEngine::wheelEvent):
+ * UIProcess/qt/QtViewportInteractionEngine.h:
+ (QtViewportInteractionEngine):
+
2012-01-31 Zeno Albisser <[email protected]>
[Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (106361 => 106362)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-01-31 16:44:15 UTC (rev 106361)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-01-31 17:09:13 UTC (rev 106362)
@@ -137,6 +137,7 @@
QObject::disconnect(interactionEngine.data(), SIGNAL(contentSuspendRequested()), viewport, SLOT(_q_suspend()));
QObject::disconnect(interactionEngine.data(), SIGNAL(contentResumeRequested()), viewport, SLOT(_q_resume()));
QObject::disconnect(interactionEngine.data(), SIGNAL(viewportTrajectoryVectorChanged(const QPointF&)), viewport, SLOT(_q_viewportTrajectoryVectorChanged(const QPointF&)));
+ QObject::disconnect(interactionEngine.data(), SIGNAL(visibleContentRectAndScaleChanged()), viewport, SLOT(_q_updateVisibleContentRectAndScale()));
}
interactionEngine.reset(0);
pageView->d->eventHandler->setViewportInteractionEngine(0);
@@ -152,6 +153,7 @@
QObject::connect(interactionEngine.data(), SIGNAL(contentSuspendRequested()), viewport, SLOT(_q_suspend()));
QObject::connect(interactionEngine.data(), SIGNAL(contentResumeRequested()), viewport, SLOT(_q_resume()));
QObject::connect(interactionEngine.data(), SIGNAL(viewportTrajectoryVectorChanged(const QPointF&)), viewport, SLOT(_q_viewportTrajectoryVectorChanged(const QPointF&)));
+ QObject::connect(interactionEngine.data(), SIGNAL(visibleContentRectAndScaleChanged()), viewport, SLOT(_q_updateVisibleContentRectAndScale()));
updateTouchViewportSize();
}
@@ -214,7 +216,7 @@
postTransitionState->apply();
}
- updateVisibleContentRectAndScale();
+ _q_updateVisibleContentRectAndScale();
}
void QQuickWebViewPrivate::didChangeContentsSize(const QSize& newSize)
@@ -298,7 +300,7 @@
context->downloadManager()->addDownload(download, downloadItem);
}
-void QQuickWebViewPrivate::updateVisibleContentRectAndScale()
+void QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale()
{
DrawingAreaProxy* drawingArea = webPageProxy->drawingArea();
if (!drawingArea)
@@ -365,7 +367,7 @@
webPageProxy->setViewportSize(viewportSize);
interactionEngine->applyConstraints(computeViewportConstraints());
- updateVisibleContentRectAndScale();
+ _q_updateVisibleContentRectAndScale();
}
void QQuickWebViewPrivate::PostTransitionState::apply()
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h (106361 => 106362)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h 2012-01-31 16:44:15 UTC (rev 106361)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h 2012-01-31 17:09:13 UTC (rev 106362)
@@ -165,6 +165,7 @@
Q_PRIVATE_SLOT(d_func(), void _q_suspend());
Q_PRIVATE_SLOT(d_func(), void _q_resume());
Q_PRIVATE_SLOT(d_func(), void _q_viewportTrajectoryVectorChanged(const QPointF&));
+ Q_PRIVATE_SLOT(d_func(), void _q_updateVisibleContentRectAndScale());
Q_PRIVATE_SLOT(d_func(), void _q_onOpenPanelFilesSelected());
Q_PRIVATE_SLOT(d_func(), void _q_onOpenPanelFinished(int result));
Q_PRIVATE_SLOT(d_func(), void _q_onVisibleChanged());
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h (106361 => 106362)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-01-31 16:44:15 UTC (rev 106361)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-01-31 17:09:13 UTC (rev 106362)
@@ -83,7 +83,7 @@
void updateTouchViewportSize();
QtViewportInteractionEngine::Constraints computeViewportConstraints();
- void updateVisibleContentRectAndScale();
+ void _q_updateVisibleContentRectAndScale();
void _q_suspend();
void _q_resume();
Modified: trunk/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp (106361 => 106362)
--- trunk/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp 2012-01-31 16:44:15 UTC (rev 106361)
+++ trunk/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp 2012-01-31 17:09:13 UTC (rev 106362)
@@ -305,6 +305,8 @@
QRectF endPosRange = computePosRangeForItemAtScale(m_content->contentScale());
m_content->setPos(-boundPosition(endPosRange.topLeft(), newPos, endPosRange.bottomRight()));
+
+ emit visibleContentRectAndScaleChanged();
}
void QtViewportInteractionEngine::pagePositionRequest(const QPoint& pagePosition)
Modified: trunk/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h (106361 => 106362)
--- trunk/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h 2012-01-31 16:44:15 UTC (rev 106361)
+++ trunk/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h 2012-01-31 17:09:13 UTC (rev 106362)
@@ -106,6 +106,7 @@
void contentResumeRequested();
void viewportTrajectoryVectorChanged(const QPointF&);
+ void visibleContentRectAndScaleChanged();
private Q_SLOTS:
// Respond to changes of content that are not driven by us, like the page resizing itself.