summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/QtPageClient.cpp')
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPageClient.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/Source/WebKit2/UIProcess/qt/QtPageClient.cpp b/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
index d5a5f7ece..7737f6529 100644
--- a/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
@@ -73,6 +73,16 @@ void QtPageClient::setViewNeedsDisplay(const WebCore::IntRect& rect)
QQuickWebViewPrivate::get(m_webView)->setNeedsDisplay();
}
+void QtPageClient::didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect)
+{
+ // The viewport has to be notified first so that the viewport position
+ // is adjusted before the loadVisuallyCommitted() signal.
+ PageViewportController* pvc = QQuickWebViewPrivate::get(m_webView)->viewportController();
+ if (pvc)
+ pvc->didRenderFrame(contentsSize, coveredRect);
+ QQuickWebViewPrivate::get(m_webView)->didRenderFrame();
+}
+
void QtPageClient::pageDidRequestScroll(const IntPoint& pos)
{
QQuickWebViewPrivate::get(m_webView)->pageDidRequestScroll(pos);
@@ -90,7 +100,9 @@ void QtPageClient::didRelaunchProcess()
void QtPageClient::didChangeContentsSize(const IntSize& newSize)
{
- QQuickWebViewPrivate::get(m_webView)->didChangeContentsSize(newSize);
+ PageViewportController* pvc = QQuickWebViewPrivate::get(m_webView)->viewportController();
+ if (pvc)
+ pvc->didChangeContentsSize(newSize);
}
void QtPageClient::didChangeViewportProperties(const WebCore::ViewportAttributes& attr)
@@ -220,6 +232,13 @@ void QtPageClient::flashBackingStoreUpdates(const Vector<IntRect>&)
notImplemented();
}
+void QtPageClient::pageTransitionViewportReady()
+{
+ PageViewportController* pvc = QQuickWebViewPrivate::get(m_webView)->viewportController();
+ if (pvc)
+ pvc->pageTransitionViewportReady();
+}
+
void QtPageClient::didFindZoomableArea(const IntPoint& target, const IntRect& area)
{
ASSERT(m_eventHandler);