From 3aad2a0615449dc8e5bd9fb8d68eaf03733d8eb5 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Fri, 21 Feb 2014 13:53:46 +0100 Subject: Implement QWebEnginePage::viewportSize Keep the size in the page itself, and ask the optionally attached QWebEngineView only for the rect position. When the view size change, call setViewportSize on the page like QtWebKit does. Change-Id: I735f1509cab9ef9b5d32bf31249a59c919939804 Reviewed-by: Andras Becsi --- src/webenginewidgets/api/qwebenginepage.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/webenginewidgets/api/qwebenginepage.cpp') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 3436d86cf..83f77b4bd 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -216,7 +216,10 @@ void QWebEnginePagePrivate::selectionChanged() QRectF QWebEnginePagePrivate::viewportRect() const { - return view ? view->geometry() : QRectF(); + QRectF rect(QPointF(), viewportSize); + if (view) + rect.setTopLeft(view->rect().topLeft()); + return rect; } qreal QWebEnginePagePrivate::dpiScale() const @@ -500,10 +503,16 @@ void QWebEnginePage::findText(const QString &subString, FindFlags options, const } } -void QWebEnginePage::setViewportSize(const QSize &size) const +QSize QWebEnginePage::viewportSize() const { - Q_UNUSED(size) Q_D(const QWebEnginePage); + return d->viewportSize; +} + +void QWebEnginePage::setViewportSize(const QSize &size) +{ + Q_D(QWebEnginePage); + d->viewportSize = size; if (d->m_rwhvDelegate) d->m_rwhvDelegate->notifyResize(); } -- cgit v1.2.3