| Index: Source/core/rendering/InlineTextBox.cpp | 
| diff --git a/Source/core/rendering/InlineTextBox.cpp b/Source/core/rendering/InlineTextBox.cpp | 
| index c5eff52094f0522dfb3d31262b97788995e9e592..f9082487d529c95ed2706aa2e3838e306f012d84 100644 | 
| --- a/Source/core/rendering/InlineTextBox.cpp | 
| +++ b/Source/core/rendering/InlineTextBox.cpp | 
| @@ -916,12 +916,11 @@ static StrokeStyle textDecorationStyleToStrokeStyle(TextDecorationStyle decorati | 
| return strokeStyle; | 
| } | 
|  | 
| -#if ENABLE(CSS3_TEXT) | 
| -static int computeUnderlineOffset(const TextUnderlinePosition underlinePosition, const FontMetrics& fontMetrics, const InlineTextBox* inlineTextBox, const int textDecorationThickness) | 
| +static int computeUnderlineOffset(const TextUnderlinePosition underlinePosition, const FontMetrics& fontMetrics, const InlineTextBox* inlineTextBox, const float textDecorationThickness) | 
| { | 
| // Compute the gap between the font and the underline. Use at least one | 
| // pixel gap, if underline is thick then use a bigger gap. | 
| -    const int gap = max<int>(1, ceilf(textDecorationThickness / 2.0)); | 
| +    const int gap = std::max<int>(1, ceilf(textDecorationThickness / 2.f)); | 
|  | 
| // According to the specification TextUnderlinePositionAuto should default to 'alphabetic' for horizontal text | 
| // and to 'under Left' for vertical text (e.g. japanese). We support only horizontal text for now. | 
| @@ -941,7 +940,6 @@ static int computeUnderlineOffset(const TextUnderlinePosition underlinePosition, | 
| ASSERT_NOT_REACHED(); | 
| return fontMetrics.ascent() + gap; | 
| } | 
| -#endif // CSS3_TEXT | 
|  | 
| static void adjustStepToDecorationLength(float& step, float& controlPointDistance, float length) | 
| { | 
| @@ -1069,8 +1067,6 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& | 
| { | 
| GraphicsContextStateSaver stateSaver(*context); | 
|  | 
| -    float textDecorationThickness = 1.f; | 
| - | 
| if (m_truncation == cFullTruncation) | 
| return; | 
|  | 
| @@ -1100,7 +1096,7 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& | 
| size_t shadowCount = shadowList ? shadowList->shadows().size() : 0; | 
| // Set the thick of the line to be 10% (or something else ?)of the computed font size and not less than 1px. | 
| // Using computedFontSize should take care of zoom as well. | 
| -    textDecorationThickness = max(textDecorationThickness, styleToUse->computedFontSize() / 10.0f); | 
| +    const float textDecorationThickness = std::max(1.f, styleToUse->computedFontSize() / 10.f); | 
| context->setStrokeThickness(textDecorationThickness); | 
|  | 
| int extraOffset = 0; | 
| @@ -1140,13 +1136,7 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& | 
| context->setStrokeStyle(textDecorationStyleToStrokeStyle(decorationStyle)); | 
| if (deco & TextDecorationUnderline) { | 
| context->setStrokeColor(underline); | 
| -#if ENABLE(CSS3_TEXT) | 
| -            TextUnderlinePosition underlinePosition = styleToUse->textUnderlinePosition(); | 
| -            const int underlineOffset = computeUnderlineOffset(underlinePosition, styleToUse->fontMetrics(), this, textDecorationThickness); | 
| -#else | 
| -            const int underlineOffset = styleToUse->fontMetrics().ascent() + max<int>(1, ceilf(textDecorationThickness / 2.0)); | 
| -#endif // CSS3_TEXT | 
| - | 
| +            const int underlineOffset = computeUnderlineOffset(styleToUse->textUnderlinePosition(), styleToUse->fontMetrics(), this, textDecorationThickness); | 
| switch (decorationStyle) { | 
| case TextDecorationStyleWavy: { | 
| FloatPoint start(localOrigin.x(), localOrigin.y() + underlineOffset + doubleOffset); | 
|  |