From 00a4d360774a772cb28adeee537fdb1e2ef88c50 Mon Sep 17 00:00:00 2001 From: "kenneth@webkit.org" Date: Fri, 24 Feb 2012 12:09:26 +0000 Subject: [PATCH] [Qt] Tiling: Improve the method names dealing with moving and scaling. Rubberstamped by Simon Hausmann. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewLegacyPrivate::updateViewportSize): (QQuickWebViewFlickablePrivate::onComponentComplete): (QQuickWebViewFlickablePrivate::updateViewportSize): (QQuickWebViewFlickablePrivate::_q_commitScaleChange): (QQuickWebViewPrivate::_q_commitPositionChange): (QQuickWebViewFlickablePrivate::_q_resume): * UIProcess/API/qt/qquickwebview_p.h: * UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewPrivate): (QQuickWebViewPrivate::_q_commitScaleChange): (QQuickWebViewFlickablePrivate): * UIProcess/DrawingAreaProxy.h: (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling): (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning): * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling): (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning): * UIProcess/DrawingAreaProxyImpl.h: (DrawingAreaProxyImpl): * UIProcess/LayerTreeHostProxy.h: (LayerTreeHostProxy): * UIProcess/qt/LayerTreeHostProxyQt.cpp: (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning): (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling): * UIProcess/qt/QtViewportInteractionEngine.cpp: (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): (WebKit::QtViewportInteractionEngine::wheelEvent): (WebKit::QtViewportInteractionEngine::pinchGestureStarted): * UIProcess/qt/QtViewportInteractionEngine.h: (QtViewportInteractionEngine): * WebProcess/WebPage/LayerTreeHost.h: (WebKit::LayerTreeHost::setVisibleContentsRectForScaling): (WebKit::LayerTreeHost::setVisibleContentsRectForPanning): (WebKit::LayerTreeHost::setVisibleContentsRectForLayer): * WebProcess/WebPage/LayerTreeHost.messages.in: * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling): (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning): * WebProcess/WebPage/qt/LayerTreeHostQt.h: (LayerTreeHostQt): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108771 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebKit2/ChangeLog | 49 ++++++++++++++++++++++ Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp | 25 ++++++----- Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h | 5 ++- .../WebKit2/UIProcess/API/qt/qquickwebview_p_p.h | 9 ++-- Source/WebKit2/UIProcess/DrawingAreaProxy.h | 4 +- Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp | 8 ++-- Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h | 4 +- Source/WebKit2/UIProcess/LayerTreeHostProxy.h | 4 +- .../WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp | 8 ++-- .../UIProcess/qt/QtViewportInteractionEngine.cpp | 12 +++--- .../UIProcess/qt/QtViewportInteractionEngine.h | 3 ++ Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h | 6 +-- .../WebProcess/WebPage/LayerTreeHost.messages.in | 4 +- .../WebProcess/WebPage/qt/LayerTreeHostQt.cpp | 4 +- .../WebProcess/WebPage/qt/LayerTreeHostQt.h | 4 +- 15 files changed, 106 insertions(+), 43 deletions(-) diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index b714096..95851d9 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,3 +1,52 @@ +2012-02-23 Kenneth Rohde Christiansen + + [Qt] Tiling: Improve the method names dealing with moving and scaling. + + Rubberstamped by Simon Hausmann. + + * UIProcess/API/qt/qquickwebview.cpp: + (QQuickWebViewLegacyPrivate::updateViewportSize): + (QQuickWebViewFlickablePrivate::onComponentComplete): + (QQuickWebViewFlickablePrivate::updateViewportSize): + (QQuickWebViewFlickablePrivate::_q_commitScaleChange): + (QQuickWebViewPrivate::_q_commitPositionChange): + (QQuickWebViewFlickablePrivate::_q_resume): + * UIProcess/API/qt/qquickwebview_p.h: + * UIProcess/API/qt/qquickwebview_p_p.h: + (QQuickWebViewPrivate): + (QQuickWebViewPrivate::_q_commitScaleChange): + (QQuickWebViewFlickablePrivate): + * UIProcess/DrawingAreaProxy.h: + (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling): + (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning): + * UIProcess/DrawingAreaProxyImpl.cpp: + (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling): + (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning): + * UIProcess/DrawingAreaProxyImpl.h: + (DrawingAreaProxyImpl): + * UIProcess/LayerTreeHostProxy.h: + (LayerTreeHostProxy): + * UIProcess/qt/LayerTreeHostProxyQt.cpp: + (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning): + (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling): + * UIProcess/qt/QtViewportInteractionEngine.cpp: + (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): + (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): + (WebKit::QtViewportInteractionEngine::wheelEvent): + (WebKit::QtViewportInteractionEngine::pinchGestureStarted): + * UIProcess/qt/QtViewportInteractionEngine.h: + (QtViewportInteractionEngine): + * WebProcess/WebPage/LayerTreeHost.h: + (WebKit::LayerTreeHost::setVisibleContentsRectForScaling): + (WebKit::LayerTreeHost::setVisibleContentsRectForPanning): + (WebKit::LayerTreeHost::setVisibleContentsRectForLayer): + * WebProcess/WebPage/LayerTreeHost.messages.in: + * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: + (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling): + (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning): + * WebProcess/WebPage/qt/LayerTreeHostQt.h: + (LayerTreeHostQt): + 2012-02-24 Sergio Villar Senin [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp index 56e326a..f40e289 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp @@ -468,7 +468,7 @@ void QQuickWebViewLegacyPrivate::updateViewportSize() // The fixed layout is handled by the FrameView and the drawing area doesn't behave differently // whether its fixed or not. We still need to tell the drawing area which part of it // has to be rendered on tiles, and in desktop mode it's all of it. - webPageProxy->drawingArea()->setVisibleContentsRectAndScale(IntRect(IntPoint(), viewportSize), 1); + webPageProxy->drawingArea()->setVisibleContentsRectForScaling(IntRect(IntPoint(), viewportSize), 1); } QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate(QQuickWebView* viewport) @@ -535,8 +535,8 @@ void QQuickWebViewFlickablePrivate::onComponentComplete() QObject::connect(interactionEngine.data(), SIGNAL(contentSuspendRequested()), q, SLOT(_q_suspend())); QObject::connect(interactionEngine.data(), SIGNAL(contentResumeRequested()), q, SLOT(_q_resume())); - QObject::connect(interactionEngine.data(), SIGNAL(viewportTrajectoryVectorChanged(const QPointF&)), q, SLOT(_q_viewportTrajectoryVectorChanged(const QPointF&))); - QObject::connect(interactionEngine.data(), SIGNAL(visibleContentRectAndScaleChanged()), q, SLOT(_q_updateVisibleContentRectAndScale())); + QObject::connect(interactionEngine.data(), SIGNAL(contentWasMoved(const QPointF&)), q, SLOT(_q_commitPositionChange(const QPointF&))); + QObject::connect(interactionEngine.data(), SIGNAL(contentWasScaled()), q, SLOT(_q_commitScaleChange())); _q_resume(); @@ -599,10 +599,10 @@ void QQuickWebViewFlickablePrivate::updateViewportSize() webPageProxy->setViewportSize(viewportSize); interactionEngine->applyConstraints(computeViewportConstraints()); - _q_updateVisibleContentRectAndScale(); + _q_commitScaleChange(); } -void QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale() +void QQuickWebViewFlickablePrivate::_q_commitScaleChange() { DrawingAreaProxy* drawingArea = webPageProxy->drawingArea(); if (!drawingArea) @@ -616,13 +616,12 @@ void QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale() q->experimental()->viewportInfo()->didUpdateCurrentScale(); QRect alignedVisibleContentRect = visibleRectInCSSCoordinates.toAlignedRect(); - drawingArea->setVisibleContentsRectAndScale(alignedVisibleContentRect, scale); + drawingArea->setVisibleContentsRectForScaling(alignedVisibleContentRect, scale); - // FIXME: Once we support suspend and resume, this should be delayed until the page is active if the page is suspended. webPageProxy->setFixedVisibleContentRect(alignedVisibleContentRect); } -void QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged(const QPointF& trajectoryVector) +void QQuickWebViewPrivate::_q_commitPositionChange(const QPointF& trajectoryVector) { DrawingAreaProxy* drawingArea = webPageProxy->drawingArea(); if (!drawingArea) @@ -632,7 +631,12 @@ void QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged(const QPointF& tra const QRectF visibleRectInCSSCoordinates = q->mapRectToWebContent(q->boundingRect()).intersected(pageView->boundingRect()); QRect alignedVisibleContentRect = visibleRectInCSSCoordinates.toAlignedRect(); - drawingArea->setVisibleContentRectTrajectoryVector(alignedVisibleContentRect, trajectoryVector); + drawingArea->setVisibleContentsRectForPanning(alignedVisibleContentRect, trajectoryVector); + + if (!trajectoryVector.isNull()) + return; + + webPageProxy->setFixedVisibleContentRect(alignedVisibleContentRect); } void QQuickWebViewFlickablePrivate::_q_suspend() @@ -652,7 +656,8 @@ void QQuickWebViewFlickablePrivate::_q_resume() postTransitionState->apply(); } - _q_updateVisibleContentRectAndScale(); + // FIXME: Revise this. + _q_commitScaleChange(); } void QQuickWebViewFlickablePrivate::pageDidRequestScroll(const QPoint& pos) diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h index b1fc925..674c18f 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h @@ -183,8 +183,9 @@ private: 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_commitPositionChange(const QPointF&)); + Q_PRIVATE_SLOT(d_func(), void _q_commitScaleChange()); + 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()); diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h index 6388ee5..300b475 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h @@ -84,11 +84,13 @@ public: virtual QtViewportInteractionEngine* viewportInteractionEngine() { return 0; } virtual void updateViewportSize() { } void updateTouchViewportSize(); - virtual void _q_updateVisibleContentRectAndScale() { } virtual void _q_suspend() { } virtual void _q_resume() { } - void _q_viewportTrajectoryVectorChanged(const QPointF&); + + virtual void _q_commitScaleChange() { } + void _q_commitPositionChange(const QPointF&); + void _q_onOpenPanelFilesSelected(); void _q_onOpenPanelFinished(int result); void _q_onVisibleChanged(); @@ -185,9 +187,10 @@ public: virtual void didChangeViewportProperties(const WebCore::ViewportArguments& args); virtual QtViewportInteractionEngine* viewportInteractionEngine() { return interactionEngine.data(); } virtual void updateViewportSize(); - virtual void _q_updateVisibleContentRectAndScale(); + virtual void _q_suspend(); virtual void _q_resume(); + virtual void _q_commitScaleChange(); virtual void pageDidRequestScroll(const QPoint& pos); virtual void didChangeContentsSize(const QSize& newSize); diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.h b/Source/WebKit2/UIProcess/DrawingAreaProxy.h index 77295a9..e78c3cd 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxy.h +++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.h @@ -93,8 +93,8 @@ public: LayerTreeHostProxy* layerTreeHostProxy() const { return m_layerTreeHostProxy.get(); } #if USE(TILED_BACKING_STORE) - virtual void setVisibleContentsRectAndScale(const WebCore::IntRect& visibleContentsRect, float scale) { } - virtual void setVisibleContentRectTrajectoryVector(const WebCore::IntRect& visibleContentsRect, const WebCore::FloatPoint& trajectoryVector) { } + virtual void setVisibleContentsRectForScaling(const WebCore::IntRect& visibleContentsRect, float scale) { } + virtual void setVisibleContentsRectForPanning(const WebCore::IntRect& visibleContentsRect, const WebCore::FloatPoint& trajectoryVector) { } virtual void createTileForLayer(int layerID, int tileID, const WebKit::UpdateInfo&) { } virtual void updateTileForLayer(int layerID, int tileID, const WebKit::UpdateInfo&) { } virtual void removeTileForLayer(int layerID, int tileID) { } diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp index bedd8c6..220f9ec 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp +++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp @@ -348,16 +348,16 @@ void DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage(CoreIPC::Connecti m_layerTreeHostProxy->didReceiveLayerTreeHostProxyMessage(connection, messageID, arguments); } -void DrawingAreaProxyImpl::setVisibleContentsRectAndScale(const WebCore::IntRect& visibleContentsRect, float scale) +void DrawingAreaProxyImpl::setVisibleContentsRectForScaling(const WebCore::IntRect& visibleContentsRect, float scale) { if (m_layerTreeHostProxy) - m_layerTreeHostProxy->setVisibleContentsRectAndScale(visibleContentsRect, scale); + m_layerTreeHostProxy->setVisibleContentsRectForScaling(visibleContentsRect, scale); } -void DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector(const WebCore::IntRect& visibleContentsRect, const WebCore::FloatPoint& trajectoryVector) +void DrawingAreaProxyImpl::setVisibleContentsRectForPanning(const WebCore::IntRect& visibleContentsRect, const WebCore::FloatPoint& trajectoryVector) { if (m_layerTreeHostProxy) - m_layerTreeHostProxy->setVisibleContentRectTrajectoryVector(visibleContentsRect, trajectoryVector); + m_layerTreeHostProxy->setVisibleContentsRectForPanning(visibleContentsRect, trajectoryVector); } void DrawingAreaProxyImpl::paintLayerTree(BackingStore::PlatformGraphicsContext context) diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h index 335abd1..25c279b 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h +++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h @@ -78,8 +78,8 @@ private: bool isInAcceleratedCompositingMode() const { return !m_layerTreeContext.isEmpty(); } #if USE(TILED_BACKING_STORE) - virtual void setVisibleContentsRectAndScale(const WebCore::IntRect& visibleContentsRect, float scale); - virtual void setVisibleContentRectTrajectoryVector(const WebCore::IntRect& visibleContentsRect, const WebCore::FloatPoint&); + virtual void setVisibleContentsRectForScaling(const WebCore::IntRect& visibleContentsRect, float scale); + virtual void setVisibleContentsRectForPanning(const WebCore::IntRect& visibleContentsRect, const WebCore::FloatPoint&); virtual void paintToCurrentGLContext(const WebCore::TransformationMatrix&, float opacity, const WebCore::FloatRect&); virtual void paintLayerTree(BackingStore::PlatformGraphicsContext); void didReceiveLayerTreeHostProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); diff --git a/Source/WebKit2/UIProcess/LayerTreeHostProxy.h b/Source/WebKit2/UIProcess/LayerTreeHostProxy.h index 2d170db..504c4e1 100644 --- a/Source/WebKit2/UIProcess/LayerTreeHostProxy.h +++ b/Source/WebKit2/UIProcess/LayerTreeHostProxy.h @@ -57,8 +57,8 @@ public: void paintToCurrentGLContext(const WebCore::TransformationMatrix&, float, const WebCore::FloatRect&); void paintToGraphicsContext(BackingStore::PlatformGraphicsContext); void purgeGLResources(); - void setVisibleContentsRectAndScale(const WebCore::IntRect&, float); - void setVisibleContentRectTrajectoryVector(const WebCore::IntRect&, const WebCore::FloatPoint&); + void setVisibleContentsRectForScaling(const WebCore::IntRect&, float); + void setVisibleContentsRectForPanning(const WebCore::IntRect&, const WebCore::FloatPoint&); #if USE(TILED_BACKING_STORE) void syncRemoteContent(); void swapContentBuffers(); diff --git a/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp b/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp index ecb46a6..ee05eaf 100644 --- a/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp +++ b/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp @@ -563,16 +563,16 @@ void LayerTreeHostProxy::destroyDirectlyCompositedImage(int64_t key) pushUpdateToQueue(DestroyImageMessage::create(data)); } -void LayerTreeHostProxy::setVisibleContentRectTrajectoryVector(const IntRect& rect, const FloatPoint& trajectoryVector) +void LayerTreeHostProxy::setVisibleContentsRectForPanning(const IntRect& rect, const FloatPoint& trajectoryVector) { - m_drawingAreaProxy->page()->process()->send(Messages::LayerTreeHost::SetVisibleContentRectTrajectoryVector(rect, trajectoryVector), m_drawingAreaProxy->page()->pageID()); + m_drawingAreaProxy->page()->process()->send(Messages::LayerTreeHost::SetVisibleContentsRectForPanning(rect, trajectoryVector), m_drawingAreaProxy->page()->pageID()); } -void LayerTreeHostProxy::setVisibleContentsRectAndScale(const IntRect& rect, float scale) +void LayerTreeHostProxy::setVisibleContentsRectForScaling(const IntRect& rect, float scale) { m_visibleContentsRect = rect; m_contentsScale = scale; - m_drawingAreaProxy->page()->process()->send(Messages::LayerTreeHost::SetVisibleContentRectAndScale(rect, scale), m_drawingAreaProxy->page()->pageID()); + m_drawingAreaProxy->page()->process()->send(Messages::LayerTreeHost::SetVisibleContentsRectForScaling(rect, scale), m_drawingAreaProxy->page()->pageID()); } void LayerTreeHostProxy::purgeGLResources() diff --git a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp index b886f3c..bfec371 100644 --- a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp +++ b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp @@ -78,7 +78,7 @@ public: emit engine->contentResumeRequested(); // Make sure that tiles all around the viewport will be requested. - emit engine->viewportTrajectoryVectorChanged(QPointF()); + emit engine->contentWasMoved(QPointF()); } private: @@ -220,7 +220,7 @@ void QtViewportInteractionEngine::flickableMovingPositionUpdate() { QPointF newPosition = m_flickProvider->contentPos(); - emit viewportTrajectoryVectorChanged(m_lastScrollPosition - newPosition); + emit contentWasMoved(m_lastScrollPosition - newPosition); m_lastScrollPosition = newPosition; } @@ -273,9 +273,11 @@ void QtViewportInteractionEngine::wheelEvent(QWheelEvent* ev) QRectF endPosRange = computePosRangeForItemAtScale(m_content->contentsScale()); - m_flickProvider->setContentPos(-boundPosition(endPosRange.topLeft(), newPos, endPosRange.bottomRight())); + QPointF currentPosition = m_flickProvider->contentPos(); + QPointF newPosition = -boundPosition(endPosRange.topLeft(), newPos, endPosRange.bottomRight()); + m_flickProvider->setContentPos(newPosition); - emit visibleContentRectAndScaleChanged(); + emit contentWasMoved(currentPosition - newPosition); } void QtViewportInteractionEngine::pagePositionRequest(const QPoint& pagePosition) @@ -511,7 +513,7 @@ void QtViewportInteractionEngine::pinchGestureStarted(const QPointF& pinchCenter m_pinchStartScale = m_content->contentsScale(); // Reset the tiling look-ahead vector so that tiles all around the viewport will be requested on pinch-end. - emit viewportTrajectoryVectorChanged(QPointF()); + emit contentWasMoved(QPointF()); } void QtViewportInteractionEngine::pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor) diff --git a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h index c0baa60..9419be0 100644 --- a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h +++ b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h @@ -103,6 +103,9 @@ Q_SIGNALS: void contentSuspendRequested(); void contentResumeRequested(); + void contentWasMoved(const QPointF& trajectoryVector); + void contentWasScaled(); + void viewportTrajectoryVectorChanged(const QPointF&); void visibleContentRectAndScaleChanged(); diff --git a/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h b/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h index 4f81756..6f336a5 100644 --- a/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h +++ b/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h @@ -80,9 +80,9 @@ public: virtual void resumeRendering() { } #if USE(TILED_BACKING_STORE) - virtual void setVisibleContentRectAndScale(const WebCore::IntRect&, float scale) { } - virtual void setVisibleContentRectTrajectoryVector(const WebCore::IntRect&, const WebCore::FloatPoint&) { } - virtual void setVisibleContentRectForLayer(int layerID, const WebCore::IntRect&) { } + virtual void setVisibleContentsRectForScaling(const WebCore::IntRect&, float scale) { } + virtual void setVisibleContentsRectForPanning(const WebCore::IntRect&, const WebCore::FloatPoint&) { } + virtual void setVisibleContentsRectForLayer(int layerID, const WebCore::IntRect&) { } virtual void renderNextFrame() { } virtual void purgeBackingStores() { } virtual void didReceiveLayerTreeHostMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); diff --git a/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in b/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in index 4247eee..70fa858 100644 --- a/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in +++ b/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in @@ -20,8 +20,8 @@ #if USE(TILED_BACKING_STORE) messages -> LayerTreeHost { - SetVisibleContentRectTrajectoryVector(WebCore::IntRect visibleContentsRect, WebCore::FloatPoint trajectoryVectory) - SetVisibleContentRectAndScale(WebCore::IntRect visibleContentsRect, float scale) + SetVisibleContentsRectForPanning(WebCore::IntRect visibleContentsRect, WebCore::FloatPoint trajectoryVectory) + SetVisibleContentsRectForScaling(WebCore::IntRect visibleContentsRect, float scale) RenderNextFrame() PurgeBackingStores() } diff --git a/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp b/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp index 5034653..0005ce8 100644 --- a/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp +++ b/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp @@ -418,7 +418,7 @@ WebCore::IntRect LayerTreeHostQt::visibleContentsRect() const return m_visibleContentsRect; } -void LayerTreeHostQt::setVisibleContentRectAndScale(const IntRect& rect, float scale) +void LayerTreeHostQt::setVisibleContentsRectForScaling(const IntRect& rect, float scale) { m_visibleContentsRect = rect; m_contentsScale = scale; @@ -431,7 +431,7 @@ void LayerTreeHostQt::setVisibleContentRectAndScale(const IntRect& rect, float s scheduleLayerFlush(); } -void LayerTreeHostQt::setVisibleContentRectTrajectoryVector(const IntRect& rect, const FloatPoint& trajectoryVector) +void LayerTreeHostQt::setVisibleContentsRectForPanning(const IntRect& rect, const FloatPoint& trajectoryVector) { m_visibleContentsRect = rect; diff --git a/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h b/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h index a8627b5..f5c433f 100644 --- a/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h +++ b/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h @@ -73,8 +73,8 @@ public: virtual void renderNextFrame(); virtual void purgeBackingStores(); virtual bool layerTreeTileUpdatesAllowed() const; - virtual void setVisibleContentRectAndScale(const WebCore::IntRect&, float scale); - virtual void setVisibleContentRectTrajectoryVector(const WebCore::IntRect&, const WebCore::FloatPoint&); + virtual void setVisibleContentsRectForScaling(const WebCore::IntRect&, float scale); + virtual void setVisibleContentsRectForPanning(const WebCore::IntRect&, const WebCore::FloatPoint&); virtual void didSyncCompositingStateForLayer(const WebLayerInfo&); virtual void attachLayer(WebCore::WebGraphicsLayer*); virtual void detachLayer(WebCore::WebGraphicsLayer*); -- 2.7.4