summaryrefslogtreecommitdiffstats
path: root/WebCore/css/CSSSegmentedFontFace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/css/CSSSegmentedFontFace.cpp')
-rw-r--r--WebCore/css/CSSSegmentedFontFace.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/WebCore/css/CSSSegmentedFontFace.cpp b/WebCore/css/CSSSegmentedFontFace.cpp
index b13dd9c..bda29f0 100644
--- a/WebCore/css/CSSSegmentedFontFace.cpp
+++ b/WebCore/css/CSSSegmentedFontFace.cpp
@@ -59,24 +59,15 @@ void CSSSegmentedFontFace::pruneTable()
m_fontDataTable.clear();
}
-bool CSSSegmentedFontFace::isLoaded() const
-{
- unsigned size = m_fontFaces.size();
- for (unsigned i = 0; i < size; i++) {
- if (!m_fontFaces[i]->isLoaded())
- return false;
- }
- return true;
-}
-
bool CSSSegmentedFontFace::isValid() const
{
+ // Valid if at least one font face is valid.
unsigned size = m_fontFaces.size();
for (unsigned i = 0; i < size; i++) {
- if (!m_fontFaces[i]->isValid())
- return false;
+ if (m_fontFaces[i]->isValid())
+ return true;
}
- return true;
+ return false;
}
void CSSSegmentedFontFace::fontLoaded(CSSFontFace*)
@@ -107,6 +98,8 @@ FontData* CSSSegmentedFontFace::getFontData(const FontDescription& fontDescripti
unsigned size = m_fontFaces.size();
for (unsigned i = 0; i < size; i++) {
+ if (!m_fontFaces[i]->isValid())
+ continue;
FontTraitsMask traitsMask = m_fontFaces[i]->traitsMask();
bool syntheticBold = !(traitsMask & (FontWeight600Mask | FontWeight700Mask | FontWeight800Mask | FontWeight900Mask)) && (desiredTraitsMask & (FontWeight600Mask | FontWeight700Mask | FontWeight800Mask | FontWeight900Mask));
bool syntheticItalic = !(traitsMask & FontStyleItalicMask) && (desiredTraitsMask & FontStyleItalicMask);