From f9e8b6ed1928e1e75ee1d5af6534d7c3e40ec582 Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Mon, 2 Apr 2012 11:57:12 +0000 Subject: [PATCH] Unreviewed, rolling out r112659. http://trac.webkit.org/changeset/112659 https://bugs.webkit.org/show_bug.cgi?id=82884 Undo the rollout of 112489 since this was not the cause of failures (Requested by apavlov on #webkit). Patch by Sheriff Bot on 2012-04-02 * css/CSSSegmentedFontFace.cpp: (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): (WebCore): (WebCore::CSSSegmentedFontFace::getFontData): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112859 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 14 ++++++++++++++ Source/WebCore/css/CSSSegmentedFontFace.cpp | 26 ++++++++++++++++++-------- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 5d786cf..c45f645 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,17 @@ +2012-04-02 Sheriff Bot + + Unreviewed, rolling out r112659. + http://trac.webkit.org/changeset/112659 + https://bugs.webkit.org/show_bug.cgi?id=82884 + + Undo the rollout of 112489 since this was not the cause of + failures (Requested by apavlov on #webkit). + + * css/CSSSegmentedFontFace.cpp: + (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): + (WebCore): + (WebCore::CSSSegmentedFontFace::getFontData): + 2012-04-01 Antti Koivisto Add mechanism for mapping from StyleRules back to fully constructed CSSStyleRules diff --git a/Source/WebCore/css/CSSSegmentedFontFace.cpp b/Source/WebCore/css/CSSSegmentedFontFace.cpp index bb00d02..cf9ec9e 100644 --- a/Source/WebCore/css/CSSSegmentedFontFace.cpp +++ b/Source/WebCore/css/CSSSegmentedFontFace.cpp @@ -81,6 +81,23 @@ void CSSSegmentedFontFace::appendFontFace(PassRefPtr fontFace) m_fontFaces.append(fontFace); } +static void appendFontDataWithInvalidUnicodeRangeIfLoading(SegmentedFontData* newFontData, const SimpleFontData* faceFontData, const Vector& ranges) +{ + if (faceFontData->isLoading()) { + newFontData->appendRange(FontDataRange(0, 0, faceFontData)); + return; + } + + unsigned numRanges = ranges.size(); + if (!numRanges) { + newFontData->appendRange(FontDataRange(0, 0x7FFFFFFF, faceFontData)); + return; + } + + for (unsigned j = 0; j < numRanges; ++j) + newFontData->appendRange(FontDataRange(ranges[j].from(), ranges[j].to(), faceFontData)); +} + FontData* CSSSegmentedFontFace::getFontData(const FontDescription& fontDescription) { if (!isValid()) @@ -104,14 +121,7 @@ FontData* CSSSegmentedFontFace::getFontData(const FontDescription& fontDescripti bool syntheticItalic = !(traitsMask & FontStyleItalicMask) && (desiredTraitsMask & FontStyleItalicMask); if (const SimpleFontData* faceFontData = m_fontFaces[i]->getFontData(fontDescription, syntheticBold, syntheticItalic)) { ASSERT(!faceFontData->isSegmented()); - const Vector& ranges = m_fontFaces[i]->ranges(); - unsigned numRanges = ranges.size(); - if (!numRanges) - newFontData->appendRange(FontDataRange(0, 0x7FFFFFFF, faceFontData)); - else { - for (unsigned j = 0; j < numRanges; ++j) - newFontData->appendRange(FontDataRange(ranges[j].from(), ranges[j].to(), faceFontData)); - } + appendFontDataWithInvalidUnicodeRangeIfLoading(newFontData.get(), faceFontData, m_fontFaces[i]->ranges()); } } if (newFontData->numRanges()) { -- 2.7.4