From 37ea0eabfcb0c780a4b12d2235687e82303defc8 Mon Sep 17 00:00:00 2001 From: "ostapenko.viatcheslav@nokia.com" Date: Tue, 3 Jul 2012 15:34:54 +0000 Subject: [PATCH] [Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal) https://bugs.webkit.org/show_bug.cgi?id=88679 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed by Csaba Osztrogonác. Viewport parameters cannot be calculated while viewport is not visible and viewport size is 0, so let's delay calculation of viewport parameters until view becomes visible. * UIProcess/qt/QtViewportHandler.cpp: (WebKit::QtViewportHandler::pageContentsSizeChanged): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121769 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebKit2/ChangeLog | 14 ++++++++++++++ Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp | 3 +++ 2 files changed, 17 insertions(+) diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index d41d9fa..1d32a9d 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,3 +1,17 @@ +2012-07-03 Viatcheslav Ostapenko + + [Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal) + https://bugs.webkit.org/show_bug.cgi?id=88679 + + Reviewed by Csaba Osztrogonác. + + Viewport parameters cannot be calculated while viewport is not visible and + viewport size is 0, so let's delay calculation of viewport parameters until view + becomes visible. + + * UIProcess/qt/QtViewportHandler.cpp: + (WebKit::QtViewportHandler::pageContentsSizeChanged): + 2012-07-03 Tor Arne Vestbø [Qt] Make use of .qmake.cache for caching features diff --git a/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp b/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp index 548819e..a1f56d1 100644 --- a/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp +++ b/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp @@ -238,6 +238,9 @@ void QtViewportHandler::viewportAttributesChanged(const WebCore::ViewportAttribu void QtViewportHandler::pageContentsSizeChanged(const QSize& newSize, const QSize& viewportSize) { + if (viewportSize.isEmpty()) + return; + float minimumScale = WebCore::computeMinimumScaleFactorForContentContained(m_rawAttributes, viewportSize, newSize); if (!qFuzzyCompare(minimumScale, m_rawAttributes.minimumScale)) { -- 2.7.4