diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
commit | cfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch) | |
tree | 24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/WebCore/platform/graphics/qt | |
parent | 69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff) |
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/WebCore/platform/graphics/qt')
-rw-r--r-- | Source/WebCore/platform/graphics/qt/FontQt.cpp | 8 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp | 8 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp | 23 |
3 files changed, 12 insertions, 27 deletions
diff --git a/Source/WebCore/platform/graphics/qt/FontQt.cpp b/Source/WebCore/platform/graphics/qt/FontQt.cpp index f5bacddcc..e2cde765b 100644 --- a/Source/WebCore/platform/graphics/qt/FontQt.cpp +++ b/Source/WebCore/platform/graphics/qt/FontQt.cpp @@ -210,7 +210,10 @@ float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFon QTextLine line = setupLayout(&layout, run); float x1 = line.cursorToX(0); float x2 = line.cursorToX(run.length()); - const float width = qAbs(x2 - x1); + float width = qAbs(x2 - x1); + // RenderBlockLineLayout expects us to only add word-spacing for trailing spaces, not for leading spaces. + if (treatAsSpace(run[0])) + width -= m_wordSpacing; return width + run.expansion(); } @@ -275,6 +278,9 @@ void Font::drawEmphasisMarksForComplexText(GraphicsContext* /* context */, const void Font::drawGlyphs(GraphicsContext* context, const SimpleFontData* fontData, const GlyphBuffer& glyphBuffer, int from, int numGlyphs, const FloatPoint& point) const { + if (!fontData->platformData().size()) + return; + if (context->paintingDisabled()) return; diff --git a/Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp b/Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp index 9ec765caa..e083e2973 100644 --- a/Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp +++ b/Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp @@ -45,6 +45,8 @@ #include <QTimer> #include <QUrl> #include <limits> +#include <qmediametadata.h> +#include <qmultimedia.h> #include <wtf/HashSet.h> #include <wtf/text/CString.h> @@ -92,7 +94,7 @@ MediaPlayer::SupportsType MediaPlayerPrivateQt::supportsType(const String& mime, codecListTrimmed.append(codecStrTrimmed); } - if (QMediaPlayer::hasSupport(mime, codecListTrimmed) >= QtMultimedia::ProbablySupported) + if (QMediaPlayer::hasSupport(mime, codecListTrimmed) >= QMultimedia::ProbablySupported) return MediaPlayer::IsSupported; return MediaPlayer::MayBeSupported; @@ -366,8 +368,8 @@ bool MediaPlayerPrivateQt::didLoadingProgress() const unsigned MediaPlayerPrivateQt::totalBytes() const { - if (m_mediaPlayer->availableMetaData().contains(QtMultimedia::MetaData::Size)) - return m_mediaPlayer->metaData(QtMultimedia::MetaData::Size).toInt(); + if (m_mediaPlayer->availableMetaData().contains(QMediaMetaData::Size)) + return m_mediaPlayer->metaData(QMediaMetaData::Size).toInt(); return 100; } diff --git a/Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp b/Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp index 677d6086c..415f00d44 100644 --- a/Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp +++ b/Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp @@ -34,9 +34,6 @@ void SimpleFontData::determinePitch() m_treatAsFixedPitch = false; } -static const float smallCapsFraction = 0.7; -static const float emphasisMarkFraction = 0.5; - bool SimpleFontData::containsCharacters(const UChar* characters, int length) const { QRawFont rawFont(m_platformData.rawFont()); @@ -67,26 +64,6 @@ PassRefPtr<SimpleFontData> SimpleFontData::createScaledFontData(const FontDescri return SimpleFontData::create(FontPlatformData(m_platformData, scaledSize), isCustomFont(), false); } -PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const -{ - if (!m_derivedFontData) - m_derivedFontData = DerivedFontData::create(isCustomFont()); - if (!m_derivedFontData->smallCaps) - m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction); - - return m_derivedFontData->smallCaps; -} - -PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const -{ - if (!m_derivedFontData) - m_derivedFontData = DerivedFontData::create(isCustomFont()); - if (!m_derivedFontData->emphasisMark) - m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction); - - return m_derivedFontData->emphasisMark; -} - FloatRect SimpleFontData::platformBoundsForGlyph(Glyph) const { notImplemented(); |