| Index: Source/core/css/resolver/FontBuilder.cpp
|
| diff --git a/Source/core/css/resolver/FontBuilder.cpp b/Source/core/css/resolver/FontBuilder.cpp
|
| index 9de7131f88c83e1a5cd87023769eaad8902f3197..8d2a5847c32131fe39acc02d6a2c6ccad4e94bc2 100644
|
| --- a/Source/core/css/resolver/FontBuilder.cpp
|
| +++ b/Source/core/css/resolver/FontBuilder.cpp
|
| @@ -102,7 +102,7 @@ void FontBuilder::setInitial(float effectiveZoom)
|
| scope.reset();
|
| setFontFamilyToStandard(scope.fontDescription(), m_document);
|
| scope.fontDescription().setKeywordSize(CSSValueMedium - CSSValueXxSmall + 1);
|
| - setSize(scope.fontDescription(), effectiveZoom, FontSize::fontSizeForKeyword(m_document, CSSValueMedium, false));
|
| + setSize(scope.fontDescription(), effectiveZoom, FontSize::fontSizeForKeyword(m_document, CSSValueMedium, NonFixedPitchFont));
|
| }
|
|
|
| void FontBuilder::inheritFrom(const FontDescription& fontDescription)
|
| @@ -166,7 +166,7 @@ void FontBuilder::setFontFamilyValue(CSSValue* value)
|
| FontFamily* currFamily = 0;
|
|
|
| // Before mapping in a new font-family property, we should reset the generic family.
|
| - bool oldFamilyUsedFixedDefaultSize = scope.fontDescription().useFixedDefaultSize();
|
| + FixedPitchFontType oldFixedPitchFontType = scope.fontDescription().useFixedDefaultSize();
|
| scope.fontDescription().setGenericFamily(FontDescription::NoFamily);
|
|
|
| for (CSSValueListIterator i = value; i.hasMore(); i.advance()) {
|
| @@ -232,8 +232,10 @@ void FontBuilder::setFontFamilyValue(CSSValue* value)
|
| if (!currFamily)
|
| return;
|
|
|
| - if (scope.fontDescription().keywordSize() && scope.fontDescription().useFixedDefaultSize() != oldFamilyUsedFixedDefaultSize)
|
| - scope.fontDescription().setSpecifiedSize(FontSize::fontSizeForKeyword(m_document, CSSValueXxSmall + scope.fontDescription().keywordSize() - 1, !oldFamilyUsedFixedDefaultSize));
|
| + if (scope.fontDescription().keywordSize() && scope.fontDescription().useFixedDefaultSize() != oldFixedPitchFontType) {
|
| + scope.fontDescription().setSpecifiedSize(FontSize::fontSizeForKeyword(m_document,
|
| + static_cast<CSSValueID>(CSSValueXxSmall + scope.fontDescription().keywordSize() - 1), scope.fontDescription().useFixedDefaultSize()));
|
| + }
|
| }
|
|
|
| void FontBuilder::setFontSizeInitial()
|
| @@ -612,13 +614,13 @@ void FontBuilder::checkForGenericFamilyChange(RenderStyle* style, const RenderSt
|
| // multiplying by our scale factor.
|
| float size;
|
| if (scope.fontDescription().keywordSize()) {
|
| - size = FontSize::fontSizeForKeyword(m_document, CSSValueXxSmall + scope.fontDescription().keywordSize() - 1, scope.fontDescription().useFixedDefaultSize());
|
| + size = FontSize::fontSizeForKeyword(m_document, static_cast<CSSValueID>(CSSValueXxSmall + scope.fontDescription().keywordSize() - 1), scope.fontDescription().useFixedDefaultSize());
|
| } else {
|
| Settings* settings = m_document->settings();
|
| float fixedScaleFactor = (settings && settings->defaultFixedFontSize() && settings->defaultFontSize())
|
| ? static_cast<float>(settings->defaultFixedFontSize()) / settings->defaultFontSize()
|
| : 1;
|
| - size = parentFontDescription.useFixedDefaultSize() ?
|
| + size = parentFontDescription.useFixedDefaultSize() == FixedPitchFont ?
|
| scope.fontDescription().specifiedSize() / fixedScaleFactor :
|
| scope.fontDescription().specifiedSize() * fixedScaleFactor;
|
| }
|
| @@ -653,7 +655,7 @@ void FontBuilder::createFontForDocument(PassRefPtrWillBeRawPtr<FontSelector> fon
|
|
|
| setFontFamilyToStandard(fontDescription, m_document);
|
| fontDescription.setKeywordSize(CSSValueMedium - CSSValueXxSmall + 1);
|
| - int size = FontSize::fontSizeForKeyword(m_document, CSSValueMedium, false);
|
| + int size = FontSize::fontSizeForKeyword(m_document, CSSValueMedium, NonFixedPitchFont);
|
| fontDescription.setSpecifiedSize(size);
|
| fontDescription.setComputedSize(getComputedSizeFromSpecifiedSize(fontDescription, documentStyle->effectiveZoom(), size));
|
|
|
|
|