diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2010-04-29 14:41:36 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2010-04-29 14:41:36 (GMT) |
commit | eeaea3e7e3697c78567ad6ad51b6e30ccc712ee8 (patch) | |
tree | fcb9fb53aa6ac04d91cd033b7cc89571da8f71e5 /src/3rdparty | |
parent | 60fb7f10ec84824d94960a2b4e0906ccf1f2df59 (diff) | |
download | Qt-eeaea3e7e3697c78567ad6ad51b6e30ccc712ee8.zip Qt-eeaea3e7e3697c78567ad6ad51b6e30ccc712ee8.tar.gz Qt-eeaea3e7e3697c78567ad6ad51b6e30ccc712ee8.tar.bz2 |
Updated WebKit to 1a40220a82197023c1b1ac6eff027be6dd3168d3
Changes integrated:
|| <https://webkit.org/b/38179> || [Qt] QWebPage::setViewportSize() forces two layout of the render tree ||
|| <https://webkit.org/b/31719> || [Qt] Loading of large page can take up to 10 seconds ||
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/webkit/.tag | 2 | ||||
-rw-r--r-- | src/3rdparty/webkit/VERSION | 2 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebCore/ChangeLog | 14 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp | 8 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp | 1 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebKit/qt/ChangeLog | 14 |
6 files changed, 31 insertions, 10 deletions
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 902d75c..95bb920 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -1a40220a82197023c1b1ac6eff027be6dd3168d3 +2c346f58ae70470d88dcd856bfe59b04a144b65a diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 578be95..64d55a9 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - 2992802f35fd47e32bb94a4b1f48cce7ec7fda9d + 1a40220a82197023c1b1ac6eff027be6dd3168d3 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 35e48a7..7c340fd 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,5 +1,19 @@ 2010-04-29 Simon Hausmann <simon.hausmann@nokia.com> + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Speed up text layouting + https://bugs.webkit.org/show_bug.cgi?id=31719 + + Use QFontMetrics::width() for the text width calculation instead + of QTextLayout. This avoids expensive bearing calculations and the + line breaking code. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::floatWidthForComplexText): + +2010-04-29 Simon Hausmann <simon.hausmann@nokia.com> + Reviewed by Tor Arne Vestbø. [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp index 8c6d600..1e92dcc 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp @@ -180,13 +180,7 @@ float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFon String sanitized = Font::normalizeSpaces(String(run.characters(), run.length())); QString string = fromRawDataWithoutRef(sanitized); - QTextLayout layout(string, font()); - QTextLine line = setupLayout(&layout, run); -#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) - int w = int(line.horizontalAdvance()); -#else - int w = int(line.naturalTextWidth()); -#endif + int w = QFontMetrics(font()).width(string); // WebKit expects us to ignore word spacing on the first character (as opposed to what Qt does) if (treatAsSpace(run[0])) w -= m_wordSpacing; diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp index 7bde2f6..f28524a 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp @@ -2208,7 +2208,6 @@ void QWebPage::setViewportSize(const QSize &size) const if (frame->d->frame && frame->d->frame->view()) { WebCore::FrameView* view = frame->d->frame->view(); view->setFrameRect(QRect(QPoint(0, 0), size)); - view->forceLayout(); view->adjustViewSize(); } } diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index defb2a6..8594f09 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,17 @@ +2010-04-29 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + Remove unnecessary call to FrameView::forceLayout() in setViewportSize() + This prevents a double relayout on resize. + + https://bugs.webkit.org/show_bug.cgi?id=38179 + + Thanks to Nate Whetsell <nathan.whetsell@gmail.com> for spotting this. + + * Api/qwebpage.cpp: + (QWebPage::setViewportSize): + 2010-04-29 Simon Hausmann <simon.hausmann@nokia.com> Reviewed by Tor Arne Vestbø. |