| Index: Source/core/rendering/InlineTextBox.cpp
|
| diff --git a/Source/core/rendering/InlineTextBox.cpp b/Source/core/rendering/InlineTextBox.cpp
|
| index e414189dbebc94590f08c23373f4b4cb6e49a0d3..0c7de505c11ce0f04ff14ad8e451bf702fa9dce8 100644
|
| --- a/Source/core/rendering/InlineTextBox.cpp
|
| +++ b/Source/core/rendering/InlineTextBox.cpp
|
| @@ -924,7 +924,6 @@ static StrokeStyle textDecorationStyleToStrokeStyle(TextDecorationStyle decorati
|
| case TextDecorationStyleSolid:
|
| strokeStyle = SolidStroke;
|
| break;
|
| -#if ENABLE(CSS3_TEXT)
|
| case TextDecorationStyleDouble:
|
| strokeStyle = DoubleStroke;
|
| break;
|
| @@ -937,13 +936,11 @@ static StrokeStyle textDecorationStyleToStrokeStyle(TextDecorationStyle decorati
|
| case TextDecorationStyleWavy:
|
| strokeStyle = WavyStroke;
|
| break;
|
| -#endif // CSS3_TEXT
|
| }
|
|
|
| return strokeStyle;
|
| }
|
|
|
| -#if ENABLE(CSS3_TEXT)
|
| static int computeUnderlineOffset(const TextUnderlinePosition underlinePosition, const FontMetrics& fontMetrics, const InlineTextBox* inlineTextBox, const int textDecorationThickness)
|
| {
|
| // Compute the gap between the font and the underline. Use at least one
|
| @@ -968,9 +965,7 @@ static int computeUnderlineOffset(const TextUnderlinePosition underlinePosition,
|
| ASSERT_NOT_REACHED();
|
| return fontMetrics.ascent() + gap;
|
| }
|
| -#endif // CSS3_TEXT
|
|
|
| -#if ENABLE(CSS3_TEXT)
|
| static void adjustStepToDecorationLength(float& step, float& controlPointDistance, float length)
|
| {
|
| ASSERT(step > 0);
|
| @@ -1092,7 +1087,6 @@ static void strokeWavyTextDecoration(GraphicsContext* context, FloatPoint& p1, F
|
| context->setShouldAntialias(true);
|
| context->strokePath(path);
|
| }
|
| -#endif // CSS3_TEXT
|
|
|
| void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& boxOrigin, ETextDecoration deco, TextDecorationStyle decorationStyle, const ShadowData* shadow)
|
| {
|
| @@ -1163,14 +1157,11 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint&
|
| shadow = shadow->next();
|
| }
|
|
|
| -#if ENABLE(CSS3_TEXT)
|
| // Offset between lines - always non-zero, so lines never cross each other.
|
| float doubleOffset = textDecorationThickness + 1.f;
|
| -#endif // CSS3_TEXT
|
| context->setStrokeStyle(textDecorationStyleToStrokeStyle(decorationStyle));
|
| if (deco & UNDERLINE) {
|
| context->setStrokeColor(underline, colorSpace);
|
| -#if ENABLE(CSS3_TEXT)
|
| TextUnderlinePosition underlinePosition = styleToUse->textUnderlinePosition();
|
| const int underlineOffset = computeUnderlineOffset(underlinePosition, styleToUse->fontMetrics(), this, textDecorationThickness);
|
|
|
| @@ -1187,14 +1178,9 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint&
|
| if (decorationStyle == TextDecorationStyleDouble)
|
| context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + underlineOffset + doubleOffset), width, isPrinting);
|
| }
|
| -#else
|
| - // Leave one pixel of white between the baseline and the underline.
|
| - context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + baseline + 1), width, isPrinting);
|
| -#endif // CSS3_TEXT
|
| }
|
| if (deco & OVERLINE) {
|
| context->setStrokeColor(overline, colorSpace);
|
| -#if ENABLE(CSS3_TEXT)
|
| switch (decorationStyle) {
|
| case TextDecorationStyleWavy: {
|
| FloatPoint start(localOrigin.x(), localOrigin.y() - doubleOffset);
|
| @@ -1203,17 +1189,13 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint&
|
| break;
|
| }
|
| default:
|
| -#endif // CSS3_TEXT
|
| context->drawLineForText(localOrigin, width, isPrinting);
|
| -#if ENABLE(CSS3_TEXT)
|
| if (decorationStyle == TextDecorationStyleDouble)
|
| context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() - doubleOffset), width, isPrinting);
|
| }
|
| -#endif // CSS3_TEXT
|
| }
|
| if (deco & LINE_THROUGH) {
|
| context->setStrokeColor(linethrough, colorSpace);
|
| -#if ENABLE(CSS3_TEXT)
|
| switch (decorationStyle) {
|
| case TextDecorationStyleWavy: {
|
| FloatPoint start(localOrigin.x(), localOrigin.y() + 2 * baseline / 3);
|
| @@ -1222,13 +1204,10 @@ void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint&
|
| break;
|
| }
|
| default:
|
| -#endif // CSS3_TEXT
|
| context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + 2 * baseline / 3), width, isPrinting);
|
| -#if ENABLE(CSS3_TEXT)
|
| if (decorationStyle == TextDecorationStyleDouble)
|
| context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + doubleOffset + 2 * baseline / 3), width, isPrinting);
|
| }
|
| -#endif // CSS3_TEXT
|
| }
|
| } while (shadow);
|
|
|
|
|