| Differences between
and this patch
- a/Source/WebCore/ChangeLog +97 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2013-01-18  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2
3
        [css3-text] Add rendering support for -webkit-text-underline-position
4
        https://bugs.webkit.org/show_bug.cgi?id=102795
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        This patch intends to add rendering support for "text-underline-position"
9
        CSS3 property. Parsing support is implemented in bug 102491.
10
11
        Tests: fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1.html
12
               fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2.html
13
               fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3.html
14
               fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4.html
15
               fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5.html
16
               fast/css3-text/css3-text-decoration/text-underline-position-auto1.html
17
               fast/css3-text/css3-text-decoration/text-underline-position-auto2.html
18
               fast/css3-text/css3-text-decoration/text-underline-position-auto3.html
19
               fast/css3-text/css3-text-decoration/text-underline-position-auto4.html
20
               fast/css3-text/css3-text-decoration/text-underline-position-auto5.html
21
               fast/css3-text/css3-text-decoration/text-underline-under1.html
22
               fast/css3-text/css3-text-decoration/text-underline-under2.html
23
               fast/css3-text/css3-text-decoration/text-underline-under3.html
24
               fast/css3-text/css3-text-decoration/text-underline-under4.html
25
               fast/css3-text/css3-text-decoration/text-underline-under5.html
26
27
        * css/StyleResolver.cpp:
28
        (WebCore::StyleResolver::adjustRenderStyle):
29
        * rendering/InlineFlowBox.cpp:
30
        (WebCore):
31
        (WebCore::InlineFlowBox::computeMaxLogicalTops):
32
        * rendering/InlineFlowBox.h:
33
        (InlineFlowBox):
34
        * rendering/InlineTextBox.cpp:
35
        (WebCore):
36
        (WebCore::computeUnderlineOffset):
37
        (WebCore::InlineTextBox::paintDecoration):
38
        * rendering/RootInlineBox.cpp:
39
        (WebCore::RootInlineBox::RootInlineBox):
40
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
41
        * rendering/RootInlineBox.h:
42
        (RootInlineBox):
43
        (WebCore::RootInlineBox::maxLogicalTop):
44
        * rendering/style/RenderStyle.h:
45
46
2013-01-10  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
47
48
        [css3-text] Add parsing support text-underline-position property from CSS3 Text
49
        https://bugs.webkit.org/show_bug.cgi?id=102491
50
51
        Reviewed by NOBODY (OOPS!).
52
53
        This patch intends to add parsing support for "text-underline-position" CSS3
54
        property. More details about it on the link below:
55
        http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property
56
57
        Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html
58
59
        * css/CSSComputedStyleDeclaration.cpp:
60
        (WebCore):
61
        (WebCore::renderTextUnderlinePositionFlagsToCSSValue):
62
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
63
        * css/CSSParser.cpp:
64
        (WebCore::CSSParser::parseValue):
65
        (WebCore):
66
        (WebCore::CSSParser::parseTextUnderlinePosition):
67
        * css/CSSParser.h:
68
        * css/CSSPrimitiveValueMappings.h:
69
        (WebCore):
70
        (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
71
        * css/CSSProperty.cpp:
72
        (WebCore::CSSProperty::isInheritedProperty):
73
        Added parsing-related checks for text-underline-position property.
74
        * css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
75
        * css/CSSValueKeywords.in: Added missing 'alphabetic' value. Enabled
76
        only if SVG is disabled because SVG also adds 'alphabetic' value.
77
        * css/StyleBuilder.cpp:
78
        (WebCore):
79
        (ApplyPropertyTextUnderlinePosition):
80
        (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
81
        (WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
82
        (WebCore::StyleBuilder::StyleBuilder):
83
        Set property handler for text-underline-position (including bitwise aggregator).
84
        * rendering/style/RenderStyle.h:
85
        * rendering/style/RenderStyleConstants.h:
86
        (WebCore::operator| ):
87
        (WebCore::operator|=):
88
        Added bitwise TextUnderlinePosition enum with operator functions | and |= operator (used in StyleBuilder).
89
        (WebCore):
90
        * rendering/style/StyleRareInheritedData.cpp:
91
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
92
        (WebCore::StyleRareInheritedData::operator==):
93
        Added support for m_textUnderlinePosition on copy constructor and operator
94
        assignment functions.
95
        * rendering/style/StyleRareInheritedData.h:
96
        (StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.
97
1
2013-01-16  Andrey Lushnikov  <lushnikov@chromium.org>
98
2013-01-16  Andrey Lushnikov  <lushnikov@chromium.org>
2
99
3
        Web Inspector: fix backward compatibility issues with Element.remove() method
100
        Web Inspector: fix backward compatibility issues with Element.remove() method
- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 49-56 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec1
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
51
ENABLE_CSS_VARIABLES = ;
51
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
53
ENABLE_CSS3_TEXT = ;
53
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/WebCore/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 49-56 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec1
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
51
ENABLE_CSS_VARIABLES = ;
51
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
53
ENABLE_CSS3_TEXT = ;
53
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/WebCore/GNUmakefile.features.am.in -2 / +2 lines
Lines 6-12 feature_defines_defaults += \ a/Source/WebCore/GNUmakefile.features.am.in_sec1
6
	ENABLE_CANVAS_PROXY=0 \
6
	ENABLE_CANVAS_PROXY=0 \
7
	ENABLE_CHANNEL_MESSAGING=1 \
7
	ENABLE_CHANNEL_MESSAGING=1 \
8
	ENABLE_CSP_NEXT=0 \
8
	ENABLE_CSP_NEXT=0 \
9
	ENABLE_CSS3_TEXT=0 \
9
	ENABLE_CSS3_TEXT=1 \
10
	ENABLE_CSS_BOX_DECORATION_BREAK=1 \
10
	ENABLE_CSS_BOX_DECORATION_BREAK=1 \
11
	ENABLE_CSS_COMPOSITING=0 \
11
	ENABLE_CSS_COMPOSITING=0 \
12
	ENABLE_CSS_DEVICE_ADAPTATION=0 \
12
	ENABLE_CSS_DEVICE_ADAPTATION=0 \
Lines 19-25 feature_defines_defaults += \ a/Source/WebCore/GNUmakefile.features.am.in_sec2
19
	ENABLE_CSS_STICKY_POSITION=0 \
19
	ENABLE_CSS_STICKY_POSITION=0 \
20
	ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED=1 \
20
	ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED=1 \
21
	ENABLE_CSS_VARIABLES=0 \
21
	ENABLE_CSS_VARIABLES=0 \
22
	ENABLE_CSS3_CONDITIONAL_RULES=0 \
22
	ENABLE_CSS3_CONDITIONAL_RULES=1 \
23
	ENABLE_CUSTOM_SCHEME_HANDLER=0 \
23
	ENABLE_CUSTOM_SCHEME_HANDLER=0 \
24
	ENABLE_DASHBOARD_SUPPORT=0 \
24
	ENABLE_DASHBOARD_SUPPORT=0 \
25
	ENABLE_DATALIST_ELEMENT=0 \
25
	ENABLE_DATALIST_ELEMENT=0 \
- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp +26 lines
Lines 190-195 static const CSSPropertyID computedProperties[] = { a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec1
190
    CSSPropertyWebkitTextDecorationLine,
190
    CSSPropertyWebkitTextDecorationLine,
191
    CSSPropertyWebkitTextDecorationStyle,
191
    CSSPropertyWebkitTextDecorationStyle,
192
    CSSPropertyWebkitTextAlignLast,
192
    CSSPropertyWebkitTextAlignLast,
193
    CSSPropertyWebkitTextUnderlinePosition,
193
#endif // CSS3_TEXT
194
#endif // CSS3_TEXT
194
    CSSPropertyTextIndent,
195
    CSSPropertyTextIndent,
195
    CSSPropertyTextRendering,
196
    CSSPropertyTextRendering,
Lines 1317-1322 static PassRefPtr<CSSValue> renderTextDecorationStyleFlagsToCSSValue(TextDecorat a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec2
1317
    ASSERT_NOT_REACHED();
1318
    ASSERT_NOT_REACHED();
1318
    return cssValuePool().createExplicitInitialValue();
1319
    return cssValuePool().createExplicitInitialValue();
1319
}
1320
}
1321
1322
static PassRefPtr<CSSValue> renderTextUnderlinePositionFlagsToCSSValue(TextUnderlinePosition textUnderlinePosition)
1323
{
1324
    if (textUnderlinePosition == TextUnderlinePositionAuto)
1325
        return cssValuePool().createIdentifierValue(CSSValueAuto);
1326
1327
    if (textUnderlinePosition == TextUnderlinePositionAlphabetic)
1328
        return cssValuePool().createIdentifierValue(CSSValueAlphabetic);
1329
1330
    RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
1331
    if (textUnderlinePosition & TextUnderlinePositionUnder)
1332
        list->append(cssValuePool().createIdentifierValue(CSSValueUnder));
1333
    if (textUnderlinePosition & TextUnderlinePositionLeft)
1334
        list->append(cssValuePool().createIdentifierValue(CSSValueLeft));
1335
    else if (textUnderlinePosition & TextUnderlinePositionRight)
1336
        list->append(cssValuePool().createIdentifierValue(CSSValueRight));
1337
1338
    if (list->length())
1339
        return list;
1340
1341
    ASSERT_NOT_REACHED();
1342
    return cssValuePool().createExplicitInitialValue();
1343
}
1320
#endif // CSS3_TEXT
1344
#endif // CSS3_TEXT
1321
1345
1322
static PassRefPtr<CSSValue> fillRepeatToCSSValue(EFillRepeat xRepeat, EFillRepeat yRepeat)
1346
static PassRefPtr<CSSValue> fillRepeatToCSSValue(EFillRepeat xRepeat, EFillRepeat yRepeat)
Lines 2100-2105 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec3
2100
            return renderTextDecorationStyleFlagsToCSSValue(style->textDecorationStyle());
2124
            return renderTextDecorationStyleFlagsToCSSValue(style->textDecorationStyle());
2101
        case CSSPropertyWebkitTextAlignLast:
2125
        case CSSPropertyWebkitTextAlignLast:
2102
            return cssValuePool().createValue(style->textAlignLast());
2126
            return cssValuePool().createValue(style->textAlignLast());
2127
        case CSSPropertyWebkitTextUnderlinePosition:
2128
            return renderTextUnderlinePositionFlagsToCSSValue(style->textUnderlinePosition());
2103
#endif // CSS3_TEXT
2129
#endif // CSS3_TEXT
2104
        case CSSPropertyWebkitTextDecorationsInEffect:
2130
        case CSSPropertyWebkitTextDecorationsInEffect:
2105
            return renderTextDecorationFlagsToCSSValue(style->textDecorationsInEffect());
2131
            return renderTextDecorationFlagsToCSSValue(style->textDecorationsInEffect());
- a/Source/WebCore/css/CSSGrammar.y.in +1 lines
Lines 93-98 static inline int cssyyerror(void*, const char*) a/Source/WebCore/css/CSSGrammar.y.in_sec1
93
%token PAGE_SYM
93
%token PAGE_SYM
94
%token MEDIA_SYM
94
%token MEDIA_SYM
95
#if ENABLE_CSS3_CONDITIONAL_RULES
95
#if ENABLE_CSS3_CONDITIONAL_RULES
96
/* line added just to force this file to be processed during incremental build. */
96
%token SUPPORTS_SYM
97
%token SUPPORTS_SYM
97
#endif
98
#endif
98
%token FONT_FACE_SYM
99
%token FONT_FACE_SYM
- a/Source/WebCore/css/CSSParser.cpp +52 lines
Lines 2204-2209 bool CSSParser::parseValue(CSSPropertyID propId, bool important) a/Source/WebCore/css/CSSParser.cpp_sec1
2204
        if (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDotted || id == CSSValueDashed || id == CSSValueWavy)
2204
        if (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDotted || id == CSSValueDashed || id == CSSValueWavy)
2205
            validPrimitive = true;
2205
            validPrimitive = true;
2206
        break;
2206
        break;
2207
2208
    case CSSPropertyWebkitTextUnderlinePosition:
2209
        // auto | alphabetic | [ under || [ left | right ] ]
2210
        return parseTextUnderlinePosition(important);
2207
#endif // CSS3_TEXT
2211
#endif // CSS3_TEXT
2208
2212
2209
    case CSSPropertyZoom:          // normal | reset | document | <number> | <percentage> | inherit
2213
    case CSSPropertyZoom:          // normal | reset | document | <number> | <percentage> | inherit
Lines 8828-8833 bool CSSParser::parseTextDecoration(CSSPropertyID propId, bool important) a/Source/WebCore/css/CSSParser.cpp_sec2
8828
    return false;
8832
    return false;
8829
}
8833
}
8830
8834
8835
#if ENABLE(CSS3_TEXT)
8836
bool CSSParser::parseTextUnderlinePosition(bool important)
8837
{
8838
    CSSParserValue* value = m_valueList->current();
8839
    if (value->id == CSSValueAuto) {
8840
        addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().createIdentifierValue(value->id), important);
8841
        m_valueList->next();
8842
        return true;
8843
    }
8844
8845
    if (value->id == CSSValueAlphabetic) {
8846
        addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().createIdentifierValue(value->id), important);
8847
        m_valueList->next();
8848
        return true;
8849
    }
8850
8851
    RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
8852
    bool isValid = true;
8853
    bool leftOrRightAlreadyParsed = false;
8854
    while (isValid && value) {
8855
        switch (value->id) {
8856
        case CSSValueLeft:
8857
        case CSSValueRight:
8858
            if (leftOrRightAlreadyParsed) {
8859
                isValid = false;
8860
                break;
8861
            }
8862
            leftOrRightAlreadyParsed = true;
8863
        case CSSValueUnder:
8864
            list->append(cssValuePool().createIdentifierValue(value->id));
8865
            break;
8866
        default:
8867
            isValid = false;
8868
            break;
8869
        }
8870
        if (isValid)
8871
            value = m_valueList->next();
8872
    }
8873
8874
    if (list->length() && isValid) {
8875
        addProperty(CSSPropertyWebkitTextUnderlinePosition, list.release(), important);
8876
        return true;
8877
    }
8878
8879
    return false;
8880
}
8881
#endif // CSS3_TEXT
8882
8831
bool CSSParser::parseTextEmphasisStyle(bool important)
8883
bool CSSParser::parseTextEmphasisStyle(bool important)
8832
{
8884
{
8833
    unsigned valueListSize = m_valueList->size();
8885
    unsigned valueListSize = m_valueList->size();
- a/Source/WebCore/css/CSSParser.h +3 lines
Lines 251-256 public: a/Source/WebCore/css/CSSParser.h_sec1
251
251
252
    void addTextDecorationProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important);
252
    void addTextDecorationProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important);
253
    bool parseTextDecoration(CSSPropertyID propId, bool important);
253
    bool parseTextDecoration(CSSPropertyID propId, bool important);
254
#if ENABLE(CSS3_TEXT)
255
    bool parseTextUnderlinePosition(bool important);
256
#endif // CSS3_TEXT
254
257
255
    bool parseLineBoxContain(bool important);
258
    bool parseLineBoxContain(bool important);
256
    bool parseCalculation(CSSParserValue*, CalculationPermittedValueRange);
259
    bool parseCalculation(CSSParserValue*, CalculationPermittedValueRange);
- a/Source/WebCore/css/CSSPrimitiveValueMappings.h +19 lines
Lines 2329-2334 template<> inline CSSPrimitiveValue::operator TextDecorationStyle() const a/Source/WebCore/css/CSSPrimitiveValueMappings.h_sec1
2329
    ASSERT_NOT_REACHED();
2329
    ASSERT_NOT_REACHED();
2330
    return TextDecorationStyleSolid;
2330
    return TextDecorationStyleSolid;
2331
}
2331
}
2332
2333
template<> inline CSSPrimitiveValue::operator TextUnderlinePosition() const
2334
{
2335
    switch (m_value.ident) {
2336
    case CSSValueAuto:
2337
        return TextUnderlinePositionAuto;
2338
    case CSSValueAlphabetic:
2339
        return TextUnderlinePositionAlphabetic;
2340
    case CSSValueUnder:
2341
        return TextUnderlinePositionUnder;
2342
    case CSSValueLeft:
2343
        return TextUnderlinePositionLeft;
2344
    case CSSValueRight:
2345
        return TextUnderlinePositionRight;
2346
    }
2347
2348
    ASSERT_NOT_REACHED();
2349
    return TextUnderlinePositionAuto;
2350
}
2332
#endif // CSS3_TEXT
2351
#endif // CSS3_TEXT
2333
2352
2334
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextSecurity e)
2353
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextSecurity e)
- a/Source/WebCore/css/CSSProperty.cpp +1 lines
Lines 329-334 bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID) a/Source/WebCore/css/CSSProperty.cpp_sec1
329
#if ENABLE(CSS3_TEXT)
329
#if ENABLE(CSS3_TEXT)
330
    case CSSPropertyWebkitTextDecorationLine:
330
    case CSSPropertyWebkitTextDecorationLine:
331
    case CSSPropertyWebkitTextAlignLast:
331
    case CSSPropertyWebkitTextAlignLast:
332
    case CSSPropertyWebkitTextUnderlinePosition:
332
#endif // CSS3_TEXT
333
#endif // CSS3_TEXT
333
    case CSSPropertyWebkitTextDecorationsInEffect:
334
    case CSSPropertyWebkitTextDecorationsInEffect:
334
    case CSSPropertyWebkitTextEmphasis:
335
    case CSSPropertyWebkitTextEmphasis:
- a/Source/WebCore/css/CSSPropertyNames.in +1 lines
Lines 365-370 z-index a/Source/WebCore/css/CSSPropertyNames.in_sec1
365
-webkit-text-decoration-line
365
-webkit-text-decoration-line
366
-webkit-text-decoration-style
366
-webkit-text-decoration-style
367
-webkit-text-align-last
367
-webkit-text-align-last
368
-webkit-text-underline-position
368
#endif
369
#endif
369
-webkit-text-decorations-in-effect
370
-webkit-text-decorations-in-effect
370
-webkit-text-emphasis
371
-webkit-text-emphasis
- a/Source/WebCore/css/CSSRule.idl +1 lines
Lines 38-43 a/Source/WebCore/css/CSSRule.idl_sec1
38
    const unsigned short WEBKIT_KEYFRAMES_RULE = 7;
38
    const unsigned short WEBKIT_KEYFRAMES_RULE = 7;
39
    const unsigned short WEBKIT_KEYFRAME_RULE = 8;
39
    const unsigned short WEBKIT_KEYFRAME_RULE = 8;
40
#if defined(ENABLE_CSS3_CONDITIONAL_RULES) && ENABLE_CSS3_CONDITIONAL_RULES
40
#if defined(ENABLE_CSS3_CONDITIONAL_RULES) && ENABLE_CSS3_CONDITIONAL_RULES
41
    /* line added just to force this file to be processed during incremental build. */
41
    const unsigned short SUPPORTS_RULE = 12;
42
    const unsigned short SUPPORTS_RULE = 12;
42
#endif
43
#endif
43
#if defined(ENABLE_CSS_DEVICE_ADAPTATION) && ENABLE_CSS_DEVICE_ADAPTATION
44
#if defined(ENABLE_CSS_DEVICE_ADAPTATION) && ENABLE_CSS_DEVICE_ADAPTATION
- a/Source/WebCore/css/CSSValueKeywords.in +5 lines
Lines 945-950 wrap a/Source/WebCore/css/CSSValueKeywords.in_sec1
945
// -webkit-line-align
945
// -webkit-line-align
946
edges
946
edges
947
947
948
#if !(defined(ENABLE_SVG) && ENABLE_SVG) && defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
949
// -webkit-text-underline-position
950
alphabetic
951
#endif // CSS3_TEXT
952
948
// position
953
// position
949
#if defined(ENABLE_CSS_STICKY_POSITION) && ENABLE_CSS_STICKY_POSITION
954
#if defined(ENABLE_CSS_STICKY_POSITION) && ENABLE_CSS_STICKY_POSITION
950
-webkit-sticky
955
-webkit-sticky
- a/Source/WebCore/css/StyleBuilder.cpp +29 lines
Lines 1149-1154 public: a/Source/WebCore/css/StyleBuilder.cpp_sec1
1149
    }
1149
    }
1150
};
1150
};
1151
1151
1152
#if ENABLE(CSS3_TEXT)
1153
class ApplyPropertyTextUnderlinePosition {
1154
public:
1155
    static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
1156
    {
1157
        // This is true if value is 'auto' or 'alphabetic'.
1158
        if (value->isPrimitiveValue()) {
1159
            TextUnderlinePosition t = *static_cast<CSSPrimitiveValue*>(value);
1160
            styleResolver->style()->setTextUnderlinePosition(t);
1161
            return;
1162
        }
1163
1164
        TextUnderlinePosition t = static_cast<TextUnderlinePosition>(0);
1165
        for (CSSValueListIterator i(value); i.hasMore(); i.advance()) {
1166
            CSSValue* item = i.value();
1167
            ASSERT(item->isPrimitiveValue());
1168
            t |= *static_cast<CSSPrimitiveValue*>(item);
1169
        }
1170
        styleResolver->style()->setTextUnderlinePosition(t);
1171
    }
1172
    static PropertyHandler createHandler()
1173
    {
1174
        PropertyHandler handler = ApplyPropertyDefaultBase<TextUnderlinePosition, &RenderStyle::textUnderlinePosition, TextUnderlinePosition, &RenderStyle::setTextUnderlinePosition, TextUnderlinePosition, &RenderStyle::initialTextUnderlinePosition>::createHandler();
1175
        return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
1176
    }
1177
};
1178
#endif // CSS3_TEXT
1179
1152
class ApplyPropertyLineHeight {
1180
class ApplyPropertyLineHeight {
1153
public:
1181
public:
1154
    static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
1182
    static void applyValue(CSSPropertyID, StyleResolver* styleResolver, CSSValue* value)
Lines 1923-1928 StyleBuilder::StyleBuilder() a/Source/WebCore/css/StyleBuilder.cpp_sec2
1923
    setPropertyHandler(CSSPropertyWebkitTextDecorationLine, ApplyPropertyTextDecoration::createHandler());
1951
    setPropertyHandler(CSSPropertyWebkitTextDecorationLine, ApplyPropertyTextDecoration::createHandler());
1924
    setPropertyHandler(CSSPropertyWebkitTextDecorationStyle, ApplyPropertyDefault<TextDecorationStyle, &RenderStyle::textDecorationStyle, TextDecorationStyle, &RenderStyle::setTextDecorationStyle, TextDecorationStyle, &RenderStyle::initialTextDecorationStyle>::createHandler());
1952
    setPropertyHandler(CSSPropertyWebkitTextDecorationStyle, ApplyPropertyDefault<TextDecorationStyle, &RenderStyle::textDecorationStyle, TextDecorationStyle, &RenderStyle::setTextDecorationStyle, TextDecorationStyle, &RenderStyle::initialTextDecorationStyle>::createHandler());
1925
    setPropertyHandler(CSSPropertyWebkitTextAlignLast, ApplyPropertyDefault<TextAlignLast, &RenderStyle::textAlignLast, TextAlignLast, &RenderStyle::setTextAlignLast, TextAlignLast, &RenderStyle::initialTextAlignLast>::createHandler());
1953
    setPropertyHandler(CSSPropertyWebkitTextAlignLast, ApplyPropertyDefault<TextAlignLast, &RenderStyle::textAlignLast, TextAlignLast, &RenderStyle::setTextAlignLast, TextAlignLast, &RenderStyle::initialTextAlignLast>::createHandler());
1954
    setPropertyHandler(CSSPropertyWebkitTextUnderlinePosition, ApplyPropertyTextUnderlinePosition::createHandler());
1926
#endif // CSS3_TEXT
1955
#endif // CSS3_TEXT
1927
    setPropertyHandler(CSSPropertyTextIndent, ApplyPropertyLength<&RenderStyle::textIndent, &RenderStyle::setTextIndent, &RenderStyle::initialTextIndent>::createHandler());
1956
    setPropertyHandler(CSSPropertyTextIndent, ApplyPropertyLength<&RenderStyle::textIndent, &RenderStyle::setTextIndent, &RenderStyle::initialTextIndent>::createHandler());
1928
    setPropertyHandler(CSSPropertyTextOverflow, ApplyPropertyDefault<TextOverflow, &RenderStyle::textOverflow, TextOverflow, &RenderStyle::setTextOverflow, TextOverflow, &RenderStyle::initialTextOverflow>::createHandler());
1957
    setPropertyHandler(CSSPropertyTextOverflow, ApplyPropertyDefault<TextOverflow, &RenderStyle::textOverflow, TextOverflow, &RenderStyle::setTextOverflow, TextOverflow, &RenderStyle::initialTextOverflow>::createHandler());
- a/Source/WebCore/css/StyleResolver.cpp -2 / +9 lines
Lines 2038-2047 void StyleResolver::adjustRenderStyle(RenderStyle* style, RenderStyle* parentSty a/Source/WebCore/css/StyleResolver.cpp_sec1
2038
        style->setOverflowY(style->overflowY() == OVISIBLE ? OAUTO : style->overflowY());
2038
        style->setOverflowY(style->overflowY() == OVISIBLE ? OAUTO : style->overflowY());
2039
    }
2039
    }
2040
2040
2041
    if (doesNotInheritTextDecoration(style, e))
2041
    if (doesNotInheritTextDecoration(style, e)) {
2042
        style->setTextDecorationsInEffect(style->textDecoration());
2042
        style->setTextDecorationsInEffect(style->textDecoration());
2043
    else
2043
#if ENABLE(CSS3_TEXT)
2044
        style->setTextUnderlinePosition(style->textUnderlinePosition());
2045
#endif // CSS3_TEXT
2046
    } else {
2044
        style->addToTextDecorationsInEffect(style->textDecoration());
2047
        style->addToTextDecorationsInEffect(style->textDecoration());
2048
#if ENABLE(CSS3_TEXT)
2049
        style->addToTextUnderlinePosition(style->textUnderlinePosition());
2050
#endif // CSS3_TEXT
2051
    }
2045
2052
2046
    // If either overflow value is not visible, change to auto.
2053
    // If either overflow value is not visible, change to auto.
2047
    if (style->overflowX() == OMARQUEE && style->overflowY() != OMARQUEE)
2054
    if (style->overflowX() == OMARQUEE && style->overflowY() != OMARQUEE)
- a/Source/WebCore/rendering/InlineFlowBox.cpp +19 lines
Lines 739-744 void InlineFlowBox::placeBoxesInBlockDirection(LayoutUnit top, LayoutUnit maxHei a/Source/WebCore/rendering/InlineFlowBox.cpp_sec1
739
    }
739
    }
740
}
740
}
741
741
742
#if ENABLE(CSS3_TEXT)
743
void InlineFlowBox::computeMaxLogicalTops(float& maxLogicalTop)
744
{
745
    for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) {
746
        if (curr->renderer()->isOutOfFlowPositioned())
747
            continue; // Positioned placeholders don't affect calculations.
748
749
        if (descendantsHaveSameLineHeightAndBaseline())
750
            continue;
751
752
        maxLogicalTop = max<float>(maxLogicalTop, curr->y());
753
        float localMaxLogicalTop = 0;
754
        if (curr->isInlineFlowBox())
755
            toInlineFlowBox(curr)->computeMaxLogicalTops(localMaxLogicalTop);
756
        maxLogicalTop = max<float>(maxLogicalTop, localMaxLogicalTop);
757
    }
758
}
759
#endif // CSS3_TEXT
760
742
void InlineFlowBox::flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lineBottom)
761
void InlineFlowBox::flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lineBottom)
743
{
762
{
744
    // Flip the box on the line such that the top is now relative to the lineBottom instead of the lineTop.
763
    // Flip the box on the line such that the top is now relative to the lineBottom instead of the lineTop.
- a/Source/WebCore/rendering/InlineFlowBox.h +5 lines
Lines 319-324 protected: a/Source/WebCore/rendering/InlineFlowBox.h_sec1
319
    InlineFlowBox* m_prevLineBox; // The previous box that also uses our RenderObject
319
    InlineFlowBox* m_prevLineBox; // The previous box that also uses our RenderObject
320
    InlineFlowBox* m_nextLineBox; // The next box that also uses our RenderObject
320
    InlineFlowBox* m_nextLineBox; // The next box that also uses our RenderObject
321
321
322
#if ENABLE(CSS3_TEXT)
323
    // Maximum logicalTop among all children of an InlineFlowBox. Used to
324
    // calculate the offset for TextUnderlinePositionUnder.
325
    void computeMaxLogicalTops(float& maxLogicalTop);
326
#endif // CSS3_TEXT
322
private:
327
private:
323
    unsigned m_includeLogicalLeftEdge : 1;
328
    unsigned m_includeLogicalLeftEdge : 1;
324
    unsigned m_includeLogicalRightEdge : 1;
329
    unsigned m_includeLogicalRightEdge : 1;
- a/Source/WebCore/rendering/InlineTextBox.cpp -3 / +38 lines
Lines 958-963 static StrokeStyle textDecorationStyleToStrokeStyle(TextDecorationStyle decorati a/Source/WebCore/rendering/InlineTextBox.cpp_sec1
958
    return strokeStyle;
958
    return strokeStyle;
959
}
959
}
960
960
961
#if ENABLE(CSS3_TEXT)
962
static int computeUnderlineOffset(const TextUnderlinePosition underlinePosition, const FontMetrics& fontMetrics, const InlineTextBox* inlineTextBox, const int textDecorationThickness)
963
{
964
    // Compute the gap between the font and the underline. Use at least one
965
    // pixel gap, if underline is thick then use a bigger gap.
966
    const int gap = max<int>(1, ceilf(textDecorationThickness / 2.0));
967
968
    if (underlinePosition == TextUnderlinePositionAuto) {
969
        // Position underline near the alphabetic baseline for horizontal text
970
        // (isHorizontal equals true).
971
        // FIXME: Default to TextUnderlinePositionUnderLeft for vertical text.
972
        return fontMetrics.ascent() + gap;
973
    }
974
975
    if (underlinePosition == TextUnderlinePositionUnder) {
976
        // Position underline relative the under edge of the element's content box.
977
        const float offset2 = inlineTextBox->root()->maxLogicalTop() - inlineTextBox->logicalTop();
978
        if (offset2 > 0)
979
            return inlineTextBox->logicalHeight() + gap + offset2;
980
        return inlineTextBox->logicalHeight() + gap;
981
    }
982
983
    // TODO: Implement TextUnderlinePositionUnderLeft and TextUnderlinePositionUnderRight.
984
985
    // This is already correct for TextUnderlinePositionAlphabetic.
986
    return fontMetrics.ascent() + gap;
987
}
988
#endif // CSS3_TEXT
989
961
void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& boxOrigin, ETextDecoration deco, TextDecorationStyle decorationStyle, const ShadowData* shadow)
990
void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& boxOrigin, ETextDecoration deco, TextDecorationStyle decorationStyle, const ShadowData* shadow)
962
{
991
{
963
    // FIXME: We should improve this rule and not always just assume 1.
992
    // FIXME: We should improve this rule and not always just assume 1.
Lines 1034-1044 void InlineTextBox::paintDecoration(GraphicsContext* context, const FloatPoint& a/Source/WebCore/rendering/InlineTextBox.cpp_sec2
1034
        context->setStrokeStyle(textDecorationStyleToStrokeStyle(decorationStyle));
1063
        context->setStrokeStyle(textDecorationStyleToStrokeStyle(decorationStyle));
1035
        if (deco & UNDERLINE) {
1064
        if (deco & UNDERLINE) {
1036
            context->setStrokeColor(underline, colorSpace);
1065
            context->setStrokeColor(underline, colorSpace);
1037
            // Leave one pixel of white between the baseline and the underline.
1038
            context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + baseline + 1), width, isPrinting);
1039
#if ENABLE(CSS3_TEXT)
1066
#if ENABLE(CSS3_TEXT)
1067
            TextUnderlinePosition underlinePosition = styleToUse->textUnderlinePosition();
1068
            int underlineOffset = computeUnderlineOffset(underlinePosition, styleToUse->fontMetrics(), this, textDecorationThickness);
1069
1070
            context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + underlineOffset), width, isPrinting);
1071
1040
            if (decorationStyle == TextDecorationStyleDouble)
1072
            if (decorationStyle == TextDecorationStyleDouble)
1041
                context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + baseline + 1 + doubleOffset), width, isPrinting);
1073
                context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + underlineOffset + doubleOffset), width, isPrinting);
1074
#else
1075
            // Leave one pixel of white between the baseline and the underline.
1076
            context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + baseline + 1), width, isPrinting);
1042
#endif // CSS3_TEXT
1077
#endif // CSS3_TEXT
1043
        }
1078
        }
1044
        if (deco & OVERLINE) {
1079
        if (deco & OVERLINE) {
- a/Source/WebCore/rendering/RootInlineBox.cpp +10 lines
Lines 53-58 RootInlineBox::RootInlineBox(RenderBlock* block) a/Source/WebCore/rendering/RootInlineBox.cpp_sec1
53
    , m_lineBottom(0)
53
    , m_lineBottom(0)
54
    , m_lineTopWithLeading(0)
54
    , m_lineTopWithLeading(0)
55
    , m_lineBottomWithLeading(0)
55
    , m_lineBottomWithLeading(0)
56
#if ENABLE(CSS3_TEXT)
57
    , m_maxLogicalTop(0)
58
#endif // CSS3_TEXT
56
{
59
{
57
    setIsHorizontal(block->isHorizontalWritingMode());
60
    setIsHorizontal(block->isHorizontalWritingMode());
58
}
61
}
Lines 279-284 LayoutUnit RootInlineBox::alignBoxesInBlockDirection(LayoutUnit heightOfBlock, G a/Source/WebCore/rendering/RootInlineBox.cpp_sec2
279
    // SVG will handle vertical alignment on its own.
282
    // SVG will handle vertical alignment on its own.
280
    if (isSVGRootInlineBox())
283
    if (isSVGRootInlineBox())
281
        return 0;
284
        return 0;
285
286
    // FIXME: figure out how to call computeMaxLogicalTops() when SVG is enabled.
282
#endif
287
#endif
283
288
284
    LayoutUnit maxPositionTop = 0;
289
    LayoutUnit maxPositionTop = 0;
Lines 331-336 LayoutUnit RootInlineBox::alignBoxesInBlockDirection(LayoutUnit heightOfBlock, G a/Source/WebCore/rendering/RootInlineBox.cpp_sec3
331
        heightOfBlock += gridSnapAdjustment;
336
        heightOfBlock += gridSnapAdjustment;
332
    }
337
    }
333
338
339
#if ENABLE(CSS3_TEXT)
340
    m_maxLogicalTop = 0;
341
    computeMaxLogicalTops(m_maxLogicalTop);
342
#endif // CSS3_TEXT
343
334
    return heightOfBlock + maxHeight;
344
    return heightOfBlock + maxHeight;
335
}
345
}
336
346
- a/Source/WebCore/rendering/RootInlineBox.h +11 lines
Lines 186-191 public: a/Source/WebCore/rendering/RootInlineBox.h_sec1
186
        return InlineFlowBox::logicalBottomLayoutOverflow(lineBottom());
186
        return InlineFlowBox::logicalBottomLayoutOverflow(lineBottom());
187
    }
187
    }
188
188
189
#if ENABLE(CSS3_TEXT)
190
    // Used to calculate the underline offset for TextUnderlinePositionUnder.
191
    float maxLogicalTop() const { return m_maxLogicalTop; }
192
#endif // CSS3_TEXT
193
189
    Node* getLogicalStartBoxWithNode(InlineBox*&) const;
194
    Node* getLogicalStartBoxWithNode(InlineBox*&) const;
190
    Node* getLogicalEndBoxWithNode(InlineBox*&) const;
195
    Node* getLogicalEndBoxWithNode(InlineBox*&) const;
191
196
Lines 220-225 private: a/Source/WebCore/rendering/RootInlineBox.h_sec2
220
    LayoutUnit m_lineTopWithLeading;
225
    LayoutUnit m_lineTopWithLeading;
221
    LayoutUnit m_lineBottomWithLeading;
226
    LayoutUnit m_lineBottomWithLeading;
222
227
228
#if ENABLE(CSS3_TEXT)
229
    // Maximum logicalTop among all children of an InlineFlowBox. Used to
230
    // calculate the offset for TextUnderlinePositionUnder.
231
    float m_maxLogicalTop;
232
#endif // CSS3_TEXT
233
223
    struct LineFragmentationData {
234
    struct LineFragmentationData {
224
        WTF_MAKE_NONCOPYABLE(LineFragmentationData); WTF_MAKE_FAST_ALLOCATED;
235
        WTF_MAKE_NONCOPYABLE(LineFragmentationData); WTF_MAKE_FAST_ALLOCATED;
225
    public:
236
    public:
- a/Source/WebCore/rendering/style/RenderStyle.h +4 lines
Lines 564-569 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec1
564
#if ENABLE(CSS3_TEXT)
564
#if ENABLE(CSS3_TEXT)
565
    TextDecorationStyle textDecorationStyle() const { return static_cast<TextDecorationStyle>(rareNonInheritedData->m_textDecorationStyle); }
565
    TextDecorationStyle textDecorationStyle() const { return static_cast<TextDecorationStyle>(rareNonInheritedData->m_textDecorationStyle); }
566
    TextAlignLast textAlignLast() const { return static_cast<TextAlignLast>(rareInheritedData->m_textAlignLast); }
566
    TextAlignLast textAlignLast() const { return static_cast<TextAlignLast>(rareInheritedData->m_textAlignLast); }
567
    TextUnderlinePosition textUnderlinePosition() const { return static_cast<TextUnderlinePosition>(rareInheritedData->m_textUnderlinePosition); }
567
#else
568
#else
568
    TextDecorationStyle textDecorationStyle() const { return TextDecorationStyleSolid; }
569
    TextDecorationStyle textDecorationStyle() const { return TextDecorationStyleSolid; }
569
#endif // CSS3_TEXT
570
#endif // CSS3_TEXT
Lines 1103-1108 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec2
1103
#if ENABLE(CSS3_TEXT)
1104
#if ENABLE(CSS3_TEXT)
1104
    void setTextDecorationStyle(TextDecorationStyle v) { SET_VAR(rareNonInheritedData, m_textDecorationStyle, v); }
1105
    void setTextDecorationStyle(TextDecorationStyle v) { SET_VAR(rareNonInheritedData, m_textDecorationStyle, v); }
1105
    void setTextAlignLast(TextAlignLast v) { SET_VAR(rareInheritedData, m_textAlignLast, v); }
1106
    void setTextAlignLast(TextAlignLast v) { SET_VAR(rareInheritedData, m_textAlignLast, v); }
1107
    void setTextUnderlinePosition(TextUnderlinePosition v) { SET_VAR(rareInheritedData, m_textUnderlinePosition, v); }
1108
    void addToTextUnderlinePosition(TextUnderlinePosition v) { rareInheritedData.access()->m_textUnderlinePosition |= v; }
1106
#endif // CSS3_TEXT
1109
#endif // CSS3_TEXT
1107
    void setDirection(TextDirection v) { inherited_flags._direction = v; }
1110
    void setDirection(TextDirection v) { inherited_flags._direction = v; }
1108
    void setLineHeight(Length specifiedLineHeight);
1111
    void setLineHeight(Length specifiedLineHeight);
Lines 1561-1566 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec3
1561
#if ENABLE(CSS3_TEXT)
1564
#if ENABLE(CSS3_TEXT)
1562
    static TextDecorationStyle initialTextDecorationStyle() { return TextDecorationStyleSolid; }
1565
    static TextDecorationStyle initialTextDecorationStyle() { return TextDecorationStyleSolid; }
1563
    static TextAlignLast initialTextAlignLast() { return TextAlignLastAuto; }
1566
    static TextAlignLast initialTextAlignLast() { return TextAlignLastAuto; }
1567
    static TextUnderlinePosition initialTextUnderlinePosition() { return TextUnderlinePositionAuto; }
1564
#endif // CSS3_TEXT
1568
#endif // CSS3_TEXT
1565
    static float initialZoom() { return 1.0f; }
1569
    static float initialZoom() { return 1.0f; }
1566
    static int initialOutlineOffset() { return 0; }
1570
    static int initialOutlineOffset() { return 0; }
- a/Source/WebCore/rendering/style/RenderStyleConstants.h +8 lines
Lines 360-365 enum TextAlignLast { a/Source/WebCore/rendering/style/RenderStyleConstants.h_sec1
360
};
360
};
361
#endif // CSS3_TEXT
361
#endif // CSS3_TEXT
362
362
363
#if ENABLE(CSS3_TEXT)
364
enum TextUnderlinePosition {
365
    TextUnderlinePositionAuto = 0x1, TextUnderlinePositionAlphabetic = 0x2, TextUnderlinePositionUnder = 0x4, TextUnderlinePositionLeft = 0x8, TextUnderlinePositionRight = 0x10
366
};
367
inline TextUnderlinePosition operator| (TextUnderlinePosition a, TextUnderlinePosition b) { return TextUnderlinePosition(int(a) | int(b)); }
368
inline TextUnderlinePosition& operator|=(TextUnderlinePosition& a, TextUnderlinePosition b) { return a = a | b; }
369
#endif // CSS3_TEXT
370
363
enum EPageBreak {
371
enum EPageBreak {
364
    PBAUTO, PBALWAYS, PBAVOID
372
    PBAUTO, PBALWAYS, PBAVOID
365
};
373
};
- a/Source/WebCore/rendering/style/StyleRareInheritedData.cpp +3 lines
Lines 104-109 StyleRareInheritedData::StyleRareInheritedData() a/Source/WebCore/rendering/style/StyleRareInheritedData.cpp_sec1
104
#endif
104
#endif
105
#if ENABLE(CSS3_TEXT)
105
#if ENABLE(CSS3_TEXT)
106
    , m_textAlignLast(RenderStyle::initialTextAlignLast())
106
    , m_textAlignLast(RenderStyle::initialTextAlignLast())
107
    , m_textUnderlinePosition(RenderStyle::initialTextUnderlinePosition())
107
#endif // CSS3_TEXT
108
#endif // CSS3_TEXT
108
    , m_rubyPosition(RenderStyle::initialRubyPosition())
109
    , m_rubyPosition(RenderStyle::initialRubyPosition())
109
    , hyphenationLimitBefore(-1)
110
    , hyphenationLimitBefore(-1)
Lines 174-179 StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o) a/Source/WebCore/rendering/style/StyleRareInheritedData.cpp_sec2
174
#endif
175
#endif
175
#if ENABLE(CSS3_TEXT)
176
#if ENABLE(CSS3_TEXT)
176
    , m_textAlignLast(o.m_textAlignLast)
177
    , m_textAlignLast(o.m_textAlignLast)
178
    , m_textUnderlinePosition(o.m_textUnderlinePosition)
177
#endif // CSS3_TEXT
179
#endif // CSS3_TEXT
178
    , m_rubyPosition(o.m_rubyPosition)
180
    , m_rubyPosition(o.m_rubyPosition)
179
    , hyphenationString(o.hyphenationString)
181
    , hyphenationString(o.hyphenationString)
Lines 270-275 bool StyleRareInheritedData::operator==(const StyleRareInheritedData& o) const a/Source/WebCore/rendering/style/StyleRareInheritedData.cpp_sec3
270
#endif
272
#endif
271
#if ENABLE(CSS3_TEXT)
273
#if ENABLE(CSS3_TEXT)
272
        && m_textAlignLast == o.m_textAlignLast
274
        && m_textAlignLast == o.m_textAlignLast
275
        && m_textUnderlinePosition == o.m_textUnderlinePosition
273
#endif // CSS3_TEXT
276
#endif // CSS3_TEXT
274
        && m_rubyPosition == o.m_rubyPosition
277
        && m_rubyPosition == o.m_rubyPosition
275
        && m_lineSnap == o.m_lineSnap
278
        && m_lineSnap == o.m_lineSnap
- a/Source/WebCore/rendering/style/StyleRareInheritedData.h +1 lines
Lines 118-123 public: a/Source/WebCore/rendering/style/StyleRareInheritedData.h_sec1
118
#endif
118
#endif
119
#if ENABLE(CSS3_TEXT)
119
#if ENABLE(CSS3_TEXT)
120
    unsigned m_textAlignLast : 3; // TextAlignLast
120
    unsigned m_textAlignLast : 3; // TextAlignLast
121
    unsigned m_textUnderlinePosition : 5; // TextUnderlinePosition
121
#endif // CSS3_TEXT
122
#endif // CSS3_TEXT
122
    unsigned m_rubyPosition : 1; // RubyPosition
123
    unsigned m_rubyPosition : 1; // RubyPosition
123
124
- a/Source/WebKit/chromium/features.gypi -2 / +2 lines
Lines 39-46 a/Source/WebKit/chromium/features.gypi_sec1
39
      'ENABLE_CANVAS_PROXY=1',
39
      'ENABLE_CANVAS_PROXY=1',
40
      'ENABLE_CHANNEL_MESSAGING=1',
40
      'ENABLE_CHANNEL_MESSAGING=1',
41
      'ENABLE_CSP_NEXT=1',
41
      'ENABLE_CSP_NEXT=1',
42
      'ENABLE_CSS3_CONDITIONAL_RULES=0',
42
      'ENABLE_CSS3_CONDITIONAL_RULES=1',
43
      'ENABLE_CSS3_TEXT=0',
43
      'ENABLE_CSS3_TEXT=1',
44
      'ENABLE_CSS_BOX_DECORATION_BREAK=1',
44
      'ENABLE_CSS_BOX_DECORATION_BREAK=1',
45
      'ENABLE_CSS_COMPOSITING=0',
45
      'ENABLE_CSS_COMPOSITING=0',
46
      'ENABLE_CSS_DEVICE_ADAPTATION=0',
46
      'ENABLE_CSS_DEVICE_ADAPTATION=0',
- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 49-56 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig_sec1
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
51
ENABLE_CSS_VARIABLES = ;
51
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
53
ENABLE_CSS3_TEXT = ;
53
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/WebKit2/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 49-56 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/WebKit2/Configurations/FeatureDefines.xcconfig_sec1
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
49
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
50
ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED;
51
ENABLE_CSS_VARIABLES = ;
51
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ;
52
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
53
ENABLE_CSS3_TEXT = ;
53
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
54
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
55
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
56
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/cmake/OptionsCommon.cmake +3 lines
Lines 37-39 set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") a/Source/cmake/OptionsCommon.cmake_sec1
37
37
38
set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Where to install libraries (lib${LIB_SUFFIX})")
38
set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Where to install libraries (lib${LIB_SUFFIX})")
39
set(EXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables")
39
set(EXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables")
40
41
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_CONDITIONAL_RULES ON)
42
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT ON)
- a/Source/cmake/WebKitFeatures.cmake -2 / +2 lines
Lines 21-28 macro(WEBKIT_OPTION_BEGIN) a/Source/cmake/WebKitFeatures.cmake_sec1
21
    WEBKIT_OPTION_DEFINE(ENABLE_CANVAS_PROXY "Toggle CanvasProxy support" OFF)
21
    WEBKIT_OPTION_DEFINE(ENABLE_CANVAS_PROXY "Toggle CanvasProxy support" OFF)
22
    WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
22
    WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
23
    WEBKIT_OPTION_DEFINE(ENABLE_CSP_NEXT "Toggle Content Security Policy 1.1 support" OFF)
23
    WEBKIT_OPTION_DEFINE(ENABLE_CSP_NEXT "Toggle Content Security Policy 1.1 support" OFF)
24
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_CONDITIONAL_RULES "Toggle CSS3 Conditional Rules support" OFF)
24
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_CONDITIONAL_RULES "Toggle CSS3 Conditional Rules support" ON)
25
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT "Toggle CSS3 Text support" OFF)
25
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT "Toggle CSS3 Text support" ON)
26
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration break (CSS Backgrounds and Borders) support" ON)
26
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration break (CSS Backgrounds and Borders) support" ON)
27
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_COMPOSITING "Toggle CSS COMPOSITING support" OFF)
27
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_COMPOSITING "Toggle CSS COMPOSITING support" OFF)
28
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_DEVICE_ADAPTATION "Toggle CSS Device Adaptation support" OFF)
28
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_DEVICE_ADAPTATION "Toggle CSS Device Adaptation support" OFF)
- a/Tools/Scripts/webkitperl/FeatureList.pm -2 / +5 lines
Lines 185-194 my @features = ( a/Tools/Scripts/webkitperl/FeatureList.pm_sec1
185
      define => "ENABLE_CSS_FILTERS", default => isAppleWebKit() || isBlackBerry(), value => \$cssFiltersSupport },
185
      define => "ENABLE_CSS_FILTERS", default => isAppleWebKit() || isBlackBerry(), value => \$cssFiltersSupport },
186
186
187
    { option => "css3-conditional-rules", desc => "Toggle CSS3 Conditional Rules support (i.e. \@supports)",
187
    { option => "css3-conditional-rules", desc => "Toggle CSS3 Conditional Rules support (i.e. \@supports)",
188
      define => "ENABLE_CSS3_CONDITIONAL_RULES", default => 0, value => \$css3ConditionalRulesSupport },
188
      define => "ENABLE_CSS3_CONDITIONAL_RULES", default => 1, value => \$css3ConditionalRulesSupport },
189
189
190
    { option => "css3-text", desc => "Toggle CSS3 Text support",
190
    { option => "css3-text", desc => "Toggle CSS3 Text support",
191
      define => "ENABLE_CSS3_TEXT", default => (isEfl() || isGtk()), value => \$css3TextSupport },
191
      define => "ENABLE_CSS3_TEXT", default => 1, value => \$css3TextSupport },
192
193
    { option => "css-hierarchies", desc => "Toggle CSS Hierarchy support",
194
      define => "ENABLE_CSS_HIERARCHIES", default => 0, value => \$cssHierarchiesSupport },
192
195
193
    { option => "css-box-decoration-break", desc => "Toggle CSS box-decoration-break support",
196
    { option => "css-box-decoration-break", desc => "Toggle CSS box-decoration-break support",
194
      define => "ENABLE_CSS_BOX_DECORATION_BREAK", default => 1, value => \$cssBoxDecorationBreakSupport },
197
      define => "ENABLE_CSS_BOX_DECORATION_BREAK", default => 1, value => \$cssBoxDecorationBreakSupport },
- a/Tools/qmake/mkspecs/features/features.pri -2 / +2 lines
Lines 34-41 FEATURE_DEFAULTS = \ a/Tools/qmake/mkspecs/features/features.pri_sec1
34
    ENABLE_CSS_STICKY_POSITION=1 \
34
    ENABLE_CSS_STICKY_POSITION=1 \
35
    ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED=1 \
35
    ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED=1 \
36
    ENABLE_CSS_VARIABLES=0 \
36
    ENABLE_CSS_VARIABLES=0 \
37
    ENABLE_CSS3_CONDITIONAL_RULES=0 \
37
    ENABLE_CSS3_CONDITIONAL_RULES=1 \
38
    ENABLE_CSS3_TEXT=0 \
38
    ENABLE_CSS3_TEXT=1 \
39
    ENABLE_DASHBOARD_SUPPORT=0 \
39
    ENABLE_DASHBOARD_SUPPORT=0 \
40
    ENABLE_DATAGRID=0 \
40
    ENABLE_DATAGRID=0 \
41
    ENABLE_DATALIST_ELEMENT=1 \
41
    ENABLE_DATALIST_ELEMENT=1 \
- a/LayoutTests/ChangeLog +71 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2013-01-18  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2
3
        [css3-text] Add rendering support for -webkit-text-underline-position
4
        https://bugs.webkit.org/show_bug.cgi?id=102795
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Added text-underline-position tests for 'text-underline-position' CSS3
9
        property, with 'webkit' prefix.
10
11
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1-expected.png: Added.
12
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1-expected.txt: Added.
13
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1.html: Added.
14
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2-expected.png: Added.
15
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2-expected.txt: Added.
16
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2.html: Added.
17
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3-expected.png: Added.
18
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3-expected.txt: Added.
19
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3.html: Added.
20
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4-expected.png: Added.
21
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4-expected.txt: Added.
22
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4.html: Added.
23
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5-expected.png: Added.
24
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5-expected.txt: Added.
25
        * fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5.html: Added.
26
        * fast/css3-text/css3-text-decoration/text-underline-position-auto1-expected.png: Added.
27
        * fast/css3-text/css3-text-decoration/text-underline-position-auto1-expected.txt: Added.
28
        * fast/css3-text/css3-text-decoration/text-underline-position-auto1.html: Added.
29
        * fast/css3-text/css3-text-decoration/text-underline-position-auto2-expected.png: Added.
30
        * fast/css3-text/css3-text-decoration/text-underline-position-auto2-expected.txt: Added.
31
        * fast/css3-text/css3-text-decoration/text-underline-position-auto2.html: Added.
32
        * fast/css3-text/css3-text-decoration/text-underline-position-auto3-expected.png: Added.
33
        * fast/css3-text/css3-text-decoration/text-underline-position-auto3-expected.txt: Added.
34
        * fast/css3-text/css3-text-decoration/text-underline-position-auto3.html: Added.
35
        * fast/css3-text/css3-text-decoration/text-underline-position-auto4-expected.png: Added.
36
        * fast/css3-text/css3-text-decoration/text-underline-position-auto4-expected.txt: Added.
37
        * fast/css3-text/css3-text-decoration/text-underline-position-auto4.html: Added.
38
        * fast/css3-text/css3-text-decoration/text-underline-position-auto5-expected.png: Added.
39
        * fast/css3-text/css3-text-decoration/text-underline-position-auto5-expected.txt: Added.
40
        * fast/css3-text/css3-text-decoration/text-underline-position-auto5.html: Added.
41
        * fast/css3-text/css3-text-decoration/text-underline-position-under1-expected.png: Added.
42
        * fast/css3-text/css3-text-decoration/text-underline-position-under1-expected.txt: Added.
43
        * fast/css3-text/css3-text-decoration/text-underline-position-under1.html: Added.
44
        * fast/css3-text/css3-text-decoration/text-underline-position-under2-expected.png: Added.
45
        * fast/css3-text/css3-text-decoration/text-underline-position-under2-expected.txt: Added.
46
        * fast/css3-text/css3-text-decoration/text-underline-position-under2.html: Added.
47
        * fast/css3-text/css3-text-decoration/text-underline-position-under3-expected.png: Added.
48
        * fast/css3-text/css3-text-decoration/text-underline-position-under3-expected.txt: Added.
49
        * fast/css3-text/css3-text-decoration/text-underline-position-under3.html: Added.
50
        * fast/css3-text/css3-text-decoration/text-underline-position-under4-expected.png: Added.
51
        * fast/css3-text/css3-text-decoration/text-underline-position-under4-expected.txt: Added.
52
        * fast/css3-text/css3-text-decoration/text-underline-position-under4.html: Added.
53
        * fast/css3-text/css3-text-decoration/text-underline-position-under5-expected.png: Added.
54
        * fast/css3-text/css3-text-decoration/text-underline-position-under5-expected.txt: Added.
55
        * fast/css3-text/css3-text-decoration/text-underline-position-under5.html: Added.
56
57
2013-01-10  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
58
59
        [css3-text] Add parsing support text-underline-position property from CSS3 Text
60
        https://bugs.webkit.org/show_bug.cgi?id=102491
61
62
        Reviewed by NOBODY (OOPS!).
63
64
        Added getComputedStyle layout tests for 'text-underline-position' CSS3
65
        property, with 'webkit' prefix.
66
67
        * fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html: Added.
68
        * fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js: Added.
69
        (testElementStyle):
70
        (testComputedStyle):
71
1
2013-01-16  Dominik Röttsches  <dominik.rottsches@intel.com>
72
2013-01-16  Dominik Röttsches  <dominik.rottsches@intel.com>
2
73
3
        [EFL] Unreviewed gardening.
74
        [EFL] Unreviewed gardening.
- a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt +97 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt_sec1
1
Test to make sure -webkit-text-underline-position property returns values properly.
2
3
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6
Initial value:
7
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position') is null
8
PASS computedStyle.webkitTextUnderlinePosition is 'auto'
9
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
10
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'auto'
11
12
Value '':
13
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position') is null
14
PASS computedStyle.webkitTextUnderlinePosition is 'auto'
15
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
16
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'auto'
17
18
Initial value (explicit):
19
PASS e.style.webkitTextUnderlinePosition is 'initial'
20
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValue]'
21
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'initial'
22
PASS computedStyle.webkitTextUnderlinePosition is 'auto'
23
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
24
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'auto'
25
26
Value 'auto':
27
PASS e.style.webkitTextUnderlinePosition is 'auto'
28
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
29
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'auto'
30
PASS computedStyle.webkitTextUnderlinePosition is 'auto'
31
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
32
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'auto'
33
34
Value 'alphabetic':
35
PASS e.style.webkitTextUnderlinePosition is 'alphabetic'
36
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
37
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'alphabetic'
38
PASS computedStyle.webkitTextUnderlinePosition is 'alphabetic'
39
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSPrimitiveValue]'
40
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'alphabetic'
41
42
Value 'under':
43
PASS e.style.webkitTextUnderlinePosition is 'under'
44
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
45
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under'
46
PASS computedStyle.webkitTextUnderlinePosition is 'under'
47
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
48
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under'
49
50
Value 'left':
51
PASS e.style.webkitTextUnderlinePosition is 'left'
52
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
53
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'left'
54
PASS computedStyle.webkitTextUnderlinePosition is 'left'
55
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
56
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'left'
57
58
Value 'right':
59
PASS e.style.webkitTextUnderlinePosition is 'right'
60
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
61
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'right'
62
PASS computedStyle.webkitTextUnderlinePosition is 'right'
63
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
64
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'right'
65
66
Value 'under left':
67
PASS e.style.webkitTextUnderlinePosition is 'under left'
68
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
69
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under left'
70
PASS computedStyle.webkitTextUnderlinePosition is 'under left'
71
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
72
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under left'
73
74
Ancestor inherits values from parent:
75
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position') is null
76
PASS computedStyle.webkitTextUnderlinePosition is 'under left'
77
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
78
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under left'
79
80
Value 'under right':
81
PASS e.style.webkitTextUnderlinePosition is 'under right'
82
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
83
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under right'
84
PASS computedStyle.webkitTextUnderlinePosition is 'under right'
85
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
86
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under right'
87
88
Ancestor inherits values from parent:
89
PASS e.style.getPropertyCSSValue('-webkit-text-underline-position') is null
90
PASS computedStyle.webkitTextUnderlinePosition is 'under right'
91
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').toString() is '[object CSSValueList]'
92
PASS computedStyle.getPropertyCSSValue('-webkit-text-underline-position').cssText is 'under right'
93
94
PASS successfullyParsed is true
95
96
TEST COMPLETE
97
- a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html +10 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<script src="../../../js/resources/js-test-pre.js"></script>
5
</head>
6
<body>
7
<script src="script-tests/getComputedStyle-text-underline-position.js"></script>
8
<script src="../../../js/resources/js-test-post.js"></script>
9
</body>
10
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js +100 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js_sec1
1
function testElementStyle(propertyJS, propertyCSS, type, value)
2
{
3
    if (type != null) {
4
        shouldBe("e.style." + propertyJS, "'" + value + "'");
5
        shouldBe("e.style.getPropertyCSSValue('" + propertyCSS + "').toString()", "'" + type + "'");
6
        shouldBe("e.style.getPropertyCSSValue('" + propertyCSS + "').cssText", "'" + value + "'");
7
    } else
8
        shouldBeNull("e.style.getPropertyCSSValue('" + propertyCSS + "')");
9
}
10
11
function testComputedStyle(propertyJS, propertyCSS, type, value)
12
{
13
    computedStyle = window.getComputedStyle(e, null);
14
    shouldBe("computedStyle." + propertyJS, "'" + value + "'");
15
    shouldBe("computedStyle.getPropertyCSSValue('" + propertyCSS + "').toString()", "'" + type + "'");
16
    shouldBe("computedStyle.getPropertyCSSValue('" + propertyCSS + "').cssText", "'" + value + "'");
17
}
18
19
description("Test to make sure -webkit-text-underline-position property returns values properly.")
20
21
var testContainer = document.createElement("div");
22
testContainer.contentEditable = true;
23
document.body.appendChild(testContainer);
24
25
testContainer.innerHTML = '<div id="test">hello world</div>';
26
debug("Initial value:");
27
e = document.getElementById('test');
28
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", null, '');
29
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "auto");
30
debug('');
31
32
debug("Value '':");
33
e.style.webkitTextUnderlinePosition = '';
34
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", null, '');
35
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "auto");
36
debug('');
37
38
debug("Initial value (explicit):");
39
e.style.webkitTextUnderlinePosition = 'initial';
40
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValue]", "initial");
41
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "auto");
42
debug('');
43
44
debug("Value 'auto':");
45
e.style.webkitTextUnderlinePosition = 'auto';
46
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "auto");
47
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "auto");
48
debug('');
49
50
debug("Value 'alphabetic':");
51
e.style.webkitTextUnderlinePosition = 'alphabetic';
52
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "alphabetic");
53
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSPrimitiveValue]", "alphabetic");
54
debug('');
55
56
debug("Value 'under':");
57
e.style.webkitTextUnderlinePosition = 'under';
58
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under");
59
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under");
60
debug('');
61
62
debug("Value 'left':");
63
e.style.webkitTextUnderlinePosition = 'left';
64
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "left");
65
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "left");
66
debug('');
67
68
debug("Value 'right':");
69
e.style.webkitTextUnderlinePosition = 'right';
70
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "right");
71
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "right");
72
debug('');
73
74
debug("Value 'under left':");
75
e.style.webkitTextUnderlinePosition = 'under left';
76
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under left");
77
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under left");
78
debug('');
79
80
testContainer.innerHTML = '<div id="test-parent" style="-webkit-text-underline-position: under left;">hello <span id="test-ancestor">world</span></div>';
81
debug("Ancestor inherits values from parent:");
82
e = document.getElementById('test-ancestor');
83
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", null, "");
84
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under left");
85
debug('');
86
87
debug("Value 'under right':");
88
e.style.webkitTextUnderlinePosition = 'under right';
89
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under right");
90
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under right");
91
debug('');
92
93
testContainer.innerHTML = '<div id="test-parent" style="-webkit-text-underline-position: under right;">hello <span id="test-ancestor">world</span></div>';
94
debug("Ancestor inherits values from parent:");
95
e = document.getElementById('test-ancestor');
96
testElementStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", null, "");
97
testComputedStyle("webkitTextUnderlinePosition", "-webkit-text-underline-position", "[object CSSValueList]", "under right");
98
debug('');
99
100
document.body.removeChild(testContainer);
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1-expected.txt +8 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1-expected.txt_sec1
1
lorem ipsum
2
text-decoration in spanlorem ipsum
3
4
lorem ipsum
5
text-decoration in spanlorem ipsum
6
7
lorem ipsum
8
text-decoration in spanlorem ipsum
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1.html +32 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic1.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div class="alphabetic"><p>lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
29
        <div><p class="alphabetic">lorem ipsum<br><span>text-decoration in span</span>lorem ipsum</p></div>
30
        <div><p class="alphabetic">lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
31
    </body>
32
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2.html +36 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic2.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div class="alphabetic"><p>&nbsp;1 lorem ipsum&nbsp;&nbsp;
29
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
30
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
31
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
32
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></p>
34
        </div>
35
    </body>
36
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3.html +38 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic3.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p>
29
            <span class="alphabetic solid">&nbsp;1 lorem ipsum&nbsp;&nbsp;
30
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
31
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span></span><br>
32
            <span class="alphabetic solid">&nbsp;4 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
34
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></span>
35
            </p>
36
        </div>
37
    </body>
38
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4-expected.txt_sec1
1
 lorem ipsum           
2
 lorem ipsum           
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4.html +34 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic4.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p>
29
            <span class="alphabetic solid" style="vertical-align: -3em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span><br>
30
            <span class="alphabetic solid" style="vertical-align: -2em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span>
31
            </p>
32
        </div>
33
    </body>
34
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5.html +38 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-alphabetic5.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p class="alphabetic solid">
29
            &nbsp;1 lorem ipsum&nbsp;&nbsp;
30
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
31
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
32
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
34
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span>
35
            </p>
36
        </div>
37
    </body>
38
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto1-expected.txt +8 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto1-expected.txt_sec1
1
lorem ipsum
2
text-decoration in spanlorem ipsum
3
4
lorem ipsum
5
text-decoration in spanlorem ipsum
6
7
lorem ipsum
8
text-decoration in spanlorem ipsum
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto1.html +32 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto1.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div class="auto"><p>lorem ipsum<br><span class="under">text-decoration in span</span>lorem ipsum</p></div>
29
        <div><p class="auto">lorem ipsum<br><span>text-decoration in span</span>lorem ipsum</p></div>
30
        <div><p class="auto">lorem ipsum<br><span class="under">text-decoration in span</span>lorem ipsum</p></div>
31
    </body>
32
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto2-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto2-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto2.html +36 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto2.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div class="auto"><p>&nbsp;1 lorem ipsum&nbsp;&nbsp;
29
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
30
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
31
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
32
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></p>
34
        </div>
35
    </body>
36
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto3-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto3-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto3.html +38 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto3.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p>
29
            <span class="auto solid">&nbsp;1 lorem ipsum&nbsp;&nbsp;
30
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
31
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span></span><br>
32
            <span class="auto solid">&nbsp;4 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
34
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></span>
35
            </p>
36
        </div>
37
    </body>
38
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto4-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto4-expected.txt_sec1
1
 lorem ipsum           
2
 lorem ipsum           
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto4.html +34 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto4.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p>
29
            <span class="auto solid" style="vertical-align: -3em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span><br>
30
            <span class="auto solid" style="vertical-align: -2em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span>
31
            </p>
32
        </div>
33
    </body>
34
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto5-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto5-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto5.html +38 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-auto5.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p class="auto solid">
29
            &nbsp;1 lorem ipsum&nbsp;&nbsp;
30
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
31
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
32
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
34
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span>
35
            </p>
36
        </div>
37
    </body>
38
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under1-expected.txt +8 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under1-expected.txt_sec1
1
lorem ipsum
2
text-decoration in spanlorem ipsum
3
4
lorem ipsum
5
text-decoration in spanlorem ipsum
6
7
lorem ipsum
8
text-decoration in spanlorem ipsum
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under1.html +32 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under1.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div class="under"><p>lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
29
        <div><p class="under">lorem ipsum<br><span>text-decoration in span</span>lorem ipsum</p></div>
30
        <div><p class="under">lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
31
    </body>
32
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under2-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under2-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under2.html +36 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under2.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div class="under"><p>&nbsp;1 lorem ipsum&nbsp;&nbsp;
29
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
30
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
31
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
32
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></p>
34
        </div>
35
    </body>
36
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under3-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under3-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under3.html +38 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under3.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p>
29
            <span class="under solid">&nbsp;1 lorem ipsum&nbsp;&nbsp;
30
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
31
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span></span><br>
32
            <span class="under solid">&nbsp;4 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
34
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></span>
35
            </p>
36
        </div>
37
    </body>
38
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under4-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under4-expected.txt_sec1
1
 lorem ipsum           
2
 lorem ipsum           
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under4.html +34 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under4.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p>
29
            <span class="under solid" style="vertical-align: -3em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span><br>
30
            <span class="under solid" style="vertical-align: -2em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span>
31
            </p>
32
        </div>
33
    </body>
34
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under5-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under5-expected.txt_sec1
1
 1 lorem ipsum    2 lorem ipsum    3 lorem ipsum  
2
 4 lorem ipsum    5 lorem ipsum    6 lorem ipsum  
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under5.html +38 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position-under5.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <!-- Bugzilla link: http://webkit.org/b/102795 -->
5
        <title>CSS Test: CSS3 text-underline-position</title>
6
        <link rel="help" href="http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property"/>
7
        <meta name="flags" content="ahem"/>
8
        <script>
9
            if (window.testRunner)
10
                testRunner.dumpAsText(true);
11
        </script>
12
        <style>
13
            div { border: 5px double; padding: 5px; diplay: inline; }
14
            div.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
15
            div.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
16
            div.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
17
            p.auto { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: auto; }
18
            p.alphabetic { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: alphabetic; }
19
            p.under { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; -webkit-text-underline-position: under; }
20
            span.auto { -webkit-text-underline-position: auto; }
21
            span.alphabetic { -webkit-text-underline-position: alphabetic; }
22
            span.under { -webkit-text-underline-position: under; }
23
            span.solid { -webkit-text-decoration-style: solid; -webkit-text-decoration-line: underline; }
24
        </style>
25
    </head>
26
    <!-- body style="font: 20px Ahem; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;"-->
27
    <body style="font: 20px; -webkit-font-smoothing: none; -webkit-text-stroke: 1px black; -webkit-text-fill-color: white;">
28
        <div><p class="under solid">
29
            &nbsp;1 lorem ipsum&nbsp;&nbsp;
30
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
31
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
32
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
33
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
34
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span>
35
            </p>
36
        </div>
37
    </body>
38
</html>
- a/LayoutTests/platform/chromium/TestExpectations -1 / +1 lines
Lines 218-224 webkit.org/b/85262 fast/media/mq-resolution-dpi-dpcm-warning.html [ Skip ] a/LayoutTests/platform/chromium/TestExpectations_sec1
218
# CSS image-orientation is not yet enabled.
218
# CSS image-orientation is not yet enabled.
219
webkit.org/b/89052 fast/css/image-orientation
219
webkit.org/b/89052 fast/css/image-orientation
220
220
221
# CSS3 Text support is not yet enabled (needs ENABLE_CSS3_TEXT).
221
# Those two still lack -expected.png files. See https://bugs.webkit.org/show_bug.cgi?id=100546.
222
webkit.org/b/58491 fast/css3-text/css3-text-decoration
222
webkit.org/b/58491 fast/css3-text/css3-text-decoration
223
webkit.org/b/76173 fast/css3-text/css3-text-align-last
223
webkit.org/b/76173 fast/css3-text/css3-text-align-last
224
224
- a/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops -2 / +2 lines
Lines 48-59 a/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops_sec1
48
	/>
48
	/>
49
  <UserMacro
49
  <UserMacro
50
		Name="ENABLE_CSS3_CONDITIONAL_RULES"
50
		Name="ENABLE_CSS3_CONDITIONAL_RULES"
51
		Value=""
51
		Value="ENABLE_CSS3_CONDITIONAL_RULES"
52
		PerformEnvironmentSet="true"
52
		PerformEnvironmentSet="true"
53
	/>
53
	/>
54
  <UserMacro
54
  <UserMacro
55
		Name="ENABLE_CSS3_TEXT"
55
		Name="ENABLE_CSS3_TEXT"
56
		Value=""
56
		Value="ENABLE_CSS3_TEXT"
57
		PerformEnvironmentSet="true"
57
		PerformEnvironmentSet="true"
58
	/>
58
	/>
59
  <UserMacro
59
  <UserMacro
- a/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops -2 / +2 lines
Lines 43-54 a/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops_sec1
43
	/>
43
	/>
44
  <UserMacro
44
  <UserMacro
45
		Name="ENABLE_CSS3_CONDITIONAL_RULES"
45
		Name="ENABLE_CSS3_CONDITIONAL_RULES"
46
		Value=""
46
		Value="ENABLE_CSS3_CONDITIONAL_RULES"
47
		PerformEnvironmentSet="true"
47
		PerformEnvironmentSet="true"
48
	/>
48
	/>
49
  <UserMacro
49
  <UserMacro
50
		Name="ENABLE_CSS3_TEXT"
50
		Name="ENABLE_CSS3_TEXT"
51
		Value=""
51
		Value="ENABLE_CSS3_TEXT"
52
		PerformEnvironmentSet="true"
52
		PerformEnvironmentSet="true"
53
	/>
53
	/>
54
  <UserMacro
54
  <UserMacro
- a/configure.ac +18 lines
Lines 733-738 AC_ARG_ENABLE(coverage, a/configure.ac_sec1
733
              [],[enable_coverage="no"])
733
              [],[enable_coverage="no"])
734
AC_MSG_RESULT([$enable_coverage])
734
AC_MSG_RESULT([$enable_coverage])
735
735
736
# check whether to enable CSS3 conditional rules support
737
AC_MSG_CHECKING([whether to enable CSS3 conditional rules support])
738
AC_ARG_ENABLE(css3_conditional_rules,
739
              AC_HELP_STRING([--enable-conditional-rules],
740
                             [enable CSS3 conditional rules support [default=yes]]),
741
              [],[enable_css3_conditional_rules="yes"])
742
AC_MSG_RESULT([$enable_css3_conditional_rules])
743
AM_CONDITIONAL([ENABLE_CSS3_CONDITIONAL_RULES],[test "$enable_css3_conditional_rules" = "yes"])
744
745
# check whether to enable CSS3 text decoration support
746
AC_MSG_CHECKING([whether to enable CSS3 text decoration support])
747
AC_ARG_ENABLE(css3_text,
748
              AC_HELP_STRING([--enable-css3-text-decoration],
749
                             [enable CSS3 text decoration support [default=yes]]),
750
              [],[enable_css3_text="yes"])
751
AC_MSG_RESULT([$enable_css3_text])
752
AM_CONDITIONAL([ENABLE_CSS3_TEXT],[test "$enable_css3_text" = "yes"])
753
736
# check whether to enable FastMalloc
754
# check whether to enable FastMalloc
737
AC_MSG_CHECKING([whether to enable optimized memory allocator])
755
AC_MSG_CHECKING([whether to enable optimized memory allocator])
738
AC_ARG_ENABLE(fast_malloc,
756
AC_ARG_ENABLE(fast_malloc,

Return to Bug 102795