The movingChanged() signal from Flickable QML component is emitted many times but the QtViewportInteractionEngine is only interested about when the pan starts and when it ends, the Flickable also provide signals for that, so would be better to use those signals (movementStarted()/movementEnded()) instead of movingChanged().
Created attachment 128787 [details] Patch
Comment on attachment 128787 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=128787&action=review Almost there! > Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:129 > + connect(m_flickProvider, SIGNAL(movementStarted()), SLOT(panMoveStarted()), Qt::DirectConnection); > + connect(m_flickProvider, SIGNAL(movementEnded()), SLOT(panMoveEnded()), Qt::DirectConnection); I think we should rename those methods to flickableMoveStarted/Ended > Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:-193 > - if (m_flickProvider->isMoving()) { > - if (m_scrollUpdateDeferrer) Can be please assert for this inside the panMoveStarted/Ended to ensure that the state is always correct?
Sir, yes sir!
Created attachment 129056 [details] Patch Assertions added, slots renamed.
The commit-queue encountered the following flaky tests while processing attachment 129056 [details]: css3/filters/effect-contrast-hw.html bug 79618 (author: cmarrin@apple.com) The commit-queue is continuing to process your patch.
Comment on attachment 129056 [details] Patch Clearing flags on attachment: 129056 Committed r109094: <http://trac.webkit.org/changeset/109094>
All reviewed patches have been landed. Closing bug.