| Differences between
and this patch
- a/Source/WebCore/ChangeLog +95 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2013-02-22  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/text-underline-position-alphabetic1.html
12
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic2.html
13
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic3.html
14
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4.html
15
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic5.html
16
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto1.html
17
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto2.html
18
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto3.html
19
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4.html
20
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto5.html
21
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under1.html
22
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under2.html
23
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under3.html
24
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4.html
25
               fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under5.html
26
27
        * rendering/InlineFlowBox.cpp:
28
        (WebCore):
29
        (WebCore::InlineFlowBox::computeMaxLogicalTops):
30
        * rendering/InlineFlowBox.h:
31
        (InlineFlowBox):
32
        * rendering/InlineTextBox.cpp:
33
        (WebCore):
34
        (WebCore::computeUnderlineOffset):
35
        (WebCore::InlineTextBox::paintDecoration):
36
        * rendering/RootInlineBox.cpp:
37
        (WebCore::RootInlineBox::RootInlineBox):
38
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
39
        * rendering/RootInlineBox.h:
40
        (RootInlineBox):
41
        (WebCore::RootInlineBox::maxLogicalTop):
42
        * rendering/style/RenderStyle.h:
43
44
2013-02-22  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
45
46
        [css3-text] Add parsing support text-underline-position property from CSS3 Text
47
        https://bugs.webkit.org/show_bug.cgi?id=102491
48
49
        Reviewed by NOBODY (OOPS!).
50
51
        This patch intends to add parsing support for "text-underline-position" CSS3
52
        property. More details about it on the link below:
53
        http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property
54
55
        Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html
56
57
        * css/CSSComputedStyleDeclaration.cpp:
58
        (WebCore):
59
        (WebCore::renderTextUnderlinePositionFlagsToCSSValue):
60
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
61
        * css/CSSParser.cpp:
62
        (WebCore::CSSParser::parseValue):
63
        (WebCore):
64
        (WebCore::CSSParser::parseTextUnderlinePosition):
65
        * css/CSSParser.h:
66
        * css/CSSPrimitiveValueMappings.h:
67
        (WebCore):
68
        (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
69
        * css/CSSProperty.cpp:
70
        (WebCore::CSSProperty::isInheritedProperty):
71
        Added parsing-related checks for text-underline-position property.
72
        * css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
73
        * css/CSSValueKeywords.in: Added missing 'alphabetic' value. Enabled
74
        only if SVG is disabled because SVG also adds 'alphabetic' value.
75
        * css/StyleBuilder.cpp:
76
        (WebCore):
77
        (ApplyPropertyTextUnderlinePosition):
78
        (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
79
        (WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
80
        (WebCore::StyleBuilder::StyleBuilder):
81
        Set property handler for text-underline-position (including bitwise aggregator).
82
        * rendering/style/RenderStyle.h:
83
        * rendering/style/RenderStyleConstants.h:
84
        (WebCore::operator| ):
85
        (WebCore::operator|=):
86
        Added bitwise TextUnderlinePosition enum with operator functions | and |= operator (used in StyleBuilder).
87
        (WebCore):
88
        * rendering/style/StyleRareInheritedData.cpp:
89
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
90
        (WebCore::StyleRareInheritedData::operator==):
91
        Added support for m_textUnderlinePosition on copy constructor and operator
92
        assignment functions.
93
        * rendering/style/StyleRareInheritedData.h:
94
        (StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.
95
1
2013-02-22  Jessie Berlin  <jberlin@apple.com>
96
2013-02-22  Jessie Berlin  <jberlin@apple.com>
2
97
3
        32-bit build fix after r143706
98
        32-bit build fix after r143706
- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 50-57 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec1
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
52
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS_VARIABLES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
54
ENABLE_CSS3_TEXT = ;
54
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/WebCore/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 50-57 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec1
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
52
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS_VARIABLES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
54
ENABLE_CSS3_TEXT = ;
54
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp +26 lines
Lines 191-196 static const CSSPropertyID computedProperties[] = { a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec1
191
    CSSPropertyWebkitTextDecorationLine,
191
    CSSPropertyWebkitTextDecorationLine,
192
    CSSPropertyWebkitTextDecorationStyle,
192
    CSSPropertyWebkitTextDecorationStyle,
193
    CSSPropertyWebkitTextAlignLast,
193
    CSSPropertyWebkitTextAlignLast,
194
    CSSPropertyWebkitTextUnderlinePosition,
194
#endif // CSS3_TEXT
195
#endif // CSS3_TEXT
195
    CSSPropertyTextIndent,
196
    CSSPropertyTextIndent,
196
    CSSPropertyTextRendering,
197
    CSSPropertyTextRendering,
Lines 1336-1341 static PassRefPtr<CSSValue> renderTextDecorationStyleFlagsToCSSValue(TextDecorat a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec2
1336
    ASSERT_NOT_REACHED();
1337
    ASSERT_NOT_REACHED();
1337
    return cssValuePool().createExplicitInitialValue();
1338
    return cssValuePool().createExplicitInitialValue();
1338
}
1339
}
1340
1341
static PassRefPtr<CSSValue> renderTextUnderlinePositionFlagsToCSSValue(TextUnderlinePosition textUnderlinePosition)
1342
{
1343
    if (textUnderlinePosition == TextUnderlinePositionAuto)
1344
        return cssValuePool().createIdentifierValue(CSSValueAuto);
1345
1346
    if (textUnderlinePosition == TextUnderlinePositionAlphabetic)
1347
        return cssValuePool().createIdentifierValue(CSSValueAlphabetic);
1348
1349
    RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
1350
    if (textUnderlinePosition & TextUnderlinePositionUnder)
1351
        list->append(cssValuePool().createIdentifierValue(CSSValueUnder));
1352
    if (textUnderlinePosition & TextUnderlinePositionLeft)
1353
        list->append(cssValuePool().createIdentifierValue(CSSValueLeft));
1354
    else if (textUnderlinePosition & TextUnderlinePositionRight)
1355
        list->append(cssValuePool().createIdentifierValue(CSSValueRight));
1356
1357
    if (list->length())
1358
        return list;
1359
1360
    ASSERT_NOT_REACHED();
1361
    return cssValuePool().createExplicitInitialValue();
1362
}
1339
#endif // CSS3_TEXT
1363
#endif // CSS3_TEXT
1340
1364
1341
static PassRefPtr<CSSValue> fillRepeatToCSSValue(EFillRepeat xRepeat, EFillRepeat yRepeat)
1365
static PassRefPtr<CSSValue> fillRepeatToCSSValue(EFillRepeat xRepeat, EFillRepeat yRepeat)
Lines 2134-2139 PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec3
2134
            return renderTextDecorationStyleFlagsToCSSValue(style->textDecorationStyle());
2158
            return renderTextDecorationStyleFlagsToCSSValue(style->textDecorationStyle());
2135
        case CSSPropertyWebkitTextAlignLast:
2159
        case CSSPropertyWebkitTextAlignLast:
2136
            return cssValuePool().createValue(style->textAlignLast());
2160
            return cssValuePool().createValue(style->textAlignLast());
2161
        case CSSPropertyWebkitTextUnderlinePosition:
2162
            return renderTextUnderlinePositionFlagsToCSSValue(style->textUnderlinePosition());
2137
#endif // CSS3_TEXT
2163
#endif // CSS3_TEXT
2138
        case CSSPropertyWebkitTextDecorationsInEffect:
2164
        case CSSPropertyWebkitTextDecorationsInEffect:
2139
            return renderTextDecorationFlagsToCSSValue(style->textDecorationsInEffect());
2165
            return renderTextDecorationFlagsToCSSValue(style->textDecorationsInEffect());
- a/Source/WebCore/css/CSSGrammar.y.in +1 lines
Lines 97-102 static inline int cssyyerror(void*, const char*) a/Source/WebCore/css/CSSGrammar.y.in_sec1
97
%token PAGE_SYM
97
%token PAGE_SYM
98
%token MEDIA_SYM
98
%token MEDIA_SYM
99
#if ENABLE_CSS3_CONDITIONAL_RULES
99
#if ENABLE_CSS3_CONDITIONAL_RULES
100
/* Line added just to force this file to be processed during incremental build. */
100
%token SUPPORTS_SYM
101
%token SUPPORTS_SYM
101
#endif
102
#endif
102
%token FONT_FACE_SYM
103
%token FONT_FACE_SYM
- a/Source/WebCore/css/CSSParser.cpp +52 lines
Lines 2283-2288 bool CSSParser::parseValue(CSSPropertyID propId, bool important) a/Source/WebCore/css/CSSParser.cpp_sec1
2283
        if (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDotted || id == CSSValueDashed || id == CSSValueWavy)
2283
        if (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDotted || id == CSSValueDashed || id == CSSValueWavy)
2284
            validPrimitive = true;
2284
            validPrimitive = true;
2285
        break;
2285
        break;
2286
2287
    case CSSPropertyWebkitTextUnderlinePosition:
2288
        // auto | alphabetic | [ under || [ left | right ] ]
2289
        return parseTextUnderlinePosition(important);
2286
#endif // CSS3_TEXT
2290
#endif // CSS3_TEXT
2287
2291
2288
    case CSSPropertyZoom:          // normal | reset | document | <number> | <percentage> | inherit
2292
    case CSSPropertyZoom:          // normal | reset | document | <number> | <percentage> | inherit
Lines 9087-9092 bool CSSParser::parseTextDecoration(CSSPropertyID propId, bool important) a/Source/WebCore/css/CSSParser.cpp_sec2
9087
    return false;
9091
    return false;
9088
}
9092
}
9089
9093
9094
#if ENABLE(CSS3_TEXT)
9095
bool CSSParser::parseTextUnderlinePosition(bool important)
9096
{
9097
    CSSParserValue* value = m_valueList->current();
9098
    if (value->id == CSSValueAuto) {
9099
        addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().createIdentifierValue(value->id), important);
9100
        m_valueList->next();
9101
        return true;
9102
    }
9103
9104
    if (value->id == CSSValueAlphabetic) {
9105
        addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().createIdentifierValue(value->id), important);
9106
        m_valueList->next();
9107
        return true;
9108
    }
9109
9110
    RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
9111
    bool isValid = true;
9112
    bool leftOrRightAlreadyParsed = false;
9113
    while (isValid && value) {
9114
        switch (value->id) {
9115
        case CSSValueLeft:
9116
        case CSSValueRight:
9117
            if (leftOrRightAlreadyParsed) {
9118
                isValid = false;
9119
                break;
9120
            }
9121
            leftOrRightAlreadyParsed = true;
9122
        case CSSValueUnder:
9123
            list->append(cssValuePool().createIdentifierValue(value->id));
9124
            break;
9125
        default:
9126
            isValid = false;
9127
            break;
9128
        }
9129
        if (isValid)
9130
            value = m_valueList->next();
9131
    }
9132
9133
    if (list->length() && isValid) {
9134
        addProperty(CSSPropertyWebkitTextUnderlinePosition, list.release(), important);
9135
        return true;
9136
    }
9137
9138
    return false;
9139
}
9140
#endif // CSS3_TEXT
9141
9090
bool CSSParser::parseTextEmphasisStyle(bool important)
9142
bool CSSParser::parseTextEmphasisStyle(bool important)
9091
{
9143
{
9092
    unsigned valueListSize = m_valueList->size();
9144
    unsigned valueListSize = m_valueList->size();
- a/Source/WebCore/css/CSSParser.h +3 lines
Lines 261-266 public: a/Source/WebCore/css/CSSParser.h_sec1
261
261
262
    void addTextDecorationProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important);
262
    void addTextDecorationProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important);
263
    bool parseTextDecoration(CSSPropertyID propId, bool important);
263
    bool parseTextDecoration(CSSPropertyID propId, bool important);
264
#if ENABLE(CSS3_TEXT)
265
    bool parseTextUnderlinePosition(bool important);
266
#endif // CSS3_TEXT
264
267
265
    bool parseLineBoxContain(bool important);
268
    bool parseLineBoxContain(bool important);
266
    bool parseCalculation(CSSParserValue*, CalculationPermittedValueRange);
269
    bool parseCalculation(CSSParserValue*, CalculationPermittedValueRange);
- a/Source/WebCore/css/CSSPrimitiveValueMappings.h +19 lines
Lines 2366-2371 template<> inline CSSPrimitiveValue::operator TextDecorationStyle() const a/Source/WebCore/css/CSSPrimitiveValueMappings.h_sec1
2366
    ASSERT_NOT_REACHED();
2366
    ASSERT_NOT_REACHED();
2367
    return TextDecorationStyleSolid;
2367
    return TextDecorationStyleSolid;
2368
}
2368
}
2369
2370
template<> inline CSSPrimitiveValue::operator TextUnderlinePosition() const
2371
{
2372
    switch (m_value.ident) {
2373
    case CSSValueAuto:
2374
        return TextUnderlinePositionAuto;
2375
    case CSSValueAlphabetic:
2376
        return TextUnderlinePositionAlphabetic;
2377
    case CSSValueUnder:
2378
        return TextUnderlinePositionUnder;
2379
    case CSSValueLeft:
2380
        return TextUnderlinePositionLeft;
2381
    case CSSValueRight:
2382
        return TextUnderlinePositionRight;
2383
    }
2384
2385
    ASSERT_NOT_REACHED();
2386
    return TextUnderlinePositionAuto;
2387
}
2369
#endif // CSS3_TEXT
2388
#endif // CSS3_TEXT
2370
2389
2371
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextSecurity e)
2390
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 +2 lines
Lines 363-371 z-index a/Source/WebCore/css/CSSPropertyNames.in_sec1
363
-webkit-text-combine
363
-webkit-text-combine
364
-epub-text-combine = -webkit-text-combine
364
-epub-text-combine = -webkit-text-combine
365
#if defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
365
#if defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
366
// Line added just to force this file to be processed during incremental build.
366
-webkit-text-decoration-line
367
-webkit-text-decoration-line
367
-webkit-text-decoration-style
368
-webkit-text-decoration-style
368
-webkit-text-align-last
369
-webkit-text-align-last
370
-webkit-text-underline-position
369
#endif
371
#endif
370
-webkit-text-decorations-in-effect
372
-webkit-text-decorations-in-effect
371
-webkit-text-emphasis
373
-webkit-text-emphasis
- a/Source/WebCore/css/CSSRule.idl +1 lines
Lines 39-44 a/Source/WebCore/css/CSSRule.idl_sec1
39
    const unsigned short WEBKIT_KEYFRAMES_RULE = 7;
39
    const unsigned short WEBKIT_KEYFRAMES_RULE = 7;
40
    const unsigned short WEBKIT_KEYFRAME_RULE = 8;
40
    const unsigned short WEBKIT_KEYFRAME_RULE = 8;
41
#if defined(ENABLE_CSS3_CONDITIONAL_RULES) && ENABLE_CSS3_CONDITIONAL_RULES
41
#if defined(ENABLE_CSS3_CONDITIONAL_RULES) && ENABLE_CSS3_CONDITIONAL_RULES
42
    /* Line added just to force this file to be processed during incremental build. */
42
    const unsigned short SUPPORTS_RULE = 12;
43
    const unsigned short SUPPORTS_RULE = 12;
43
#endif
44
#endif
44
#if defined(ENABLE_CSS_DEVICE_ADAPTATION) && ENABLE_CSS_DEVICE_ADAPTATION
45
#if defined(ENABLE_CSS_DEVICE_ADAPTATION) && ENABLE_CSS_DEVICE_ADAPTATION
- a/Source/WebCore/css/CSSValueKeywords.in +6 lines
Lines 452-457 thick a/Source/WebCore/css/CSSValueKeywords.in_sec1
452
thin
452
thin
453
underline
453
underline
454
#if defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
454
#if defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
455
// Line added just to force this file to be processed during incremental build.
455
wavy
456
wavy
456
#endif
457
#endif
457
-webkit-nowrap
458
-webkit-nowrap
Lines 945-950 wrap a/Source/WebCore/css/CSSValueKeywords.in_sec2
945
// -webkit-line-align
946
// -webkit-line-align
946
edges
947
edges
947
948
949
#if !(defined(ENABLE_SVG) && ENABLE_SVG) && defined(ENABLE_CSS3_TEXT) && ENABLE_CSS3_TEXT
950
// -webkit-text-underline-position
951
alphabetic
952
#endif // CSS3_TEXT
953
948
// position
954
// position
949
#if defined(ENABLE_CSS_STICKY_POSITION) && ENABLE_CSS_STICKY_POSITION
955
#if defined(ENABLE_CSS_STICKY_POSITION) && ENABLE_CSS_STICKY_POSITION
950
-webkit-sticky
956
-webkit-sticky
- a/Source/WebCore/css/DOMWindowCSS.h +11 lines
Lines 40-45 namespace WebCore { a/Source/WebCore/css/DOMWindowCSS.h_sec1
40
40
41
class DOMWindowCSS : public RefCounted<DOMWindowCSS> {
41
class DOMWindowCSS : public RefCounted<DOMWindowCSS> {
42
public:
42
public:
43
#if USE(V8)
44
    /* https://bugs.webkit.org/show_bug.cgi?id=106819
45
     * WebKit does not compile after commit
46
     * 05ccd1f76464bc0adc15d7fc256078bd497271c5 (svn trunk@142739) if
47
     * css3-conditional-rules is enabled. That commit added class DOMWindowCSS,
48
     * which miss a vtable required by the code generated by
49
     * Source/WebCore/bindings/scripts/CodeGeneratorV8.pm. Adding a virtual
50
     * destructor fixes the problem.
51
     */
52
    virtual ~DOMWindowCSS() { }
53
#endif
43
    static PassRefPtr<DOMWindowCSS> create();
54
    static PassRefPtr<DOMWindowCSS> create();
44
55
45
    bool supports(const String& property, const String& value) const;
56
    bool supports(const String& property, const String& value) const;
- a/Source/WebCore/css/StyleBuilder.cpp +29 lines
Lines 1151-1156 public: a/Source/WebCore/css/StyleBuilder.cpp_sec1
1151
    }
1151
    }
1152
};
1152
};
1153
1153
1154
#if ENABLE(CSS3_TEXT)
1155
class ApplyPropertyTextUnderlinePosition {
1156
public:
1157
    static void applyValue(CSSPropertyID, StyleResolver::State& state, CSSValue* value)
1158
    {
1159
        // This is true if value is 'auto' or 'alphabetic'.
1160
        if (value->isPrimitiveValue()) {
1161
            TextUnderlinePosition t = *static_cast<CSSPrimitiveValue*>(value);
1162
            state.style()->setTextUnderlinePosition(t);
1163
            return;
1164
        }
1165
1166
        TextUnderlinePosition t = static_cast<TextUnderlinePosition>(0);
1167
        for (CSSValueListIterator i(value); i.hasMore(); i.advance()) {
1168
            CSSValue* item = i.value();
1169
            ASSERT(item->isPrimitiveValue());
1170
            t |= *static_cast<CSSPrimitiveValue*>(item);
1171
        }
1172
        state.style()->setTextUnderlinePosition(t);
1173
    }
1174
    static PropertyHandler createHandler()
1175
    {
1176
        PropertyHandler handler = ApplyPropertyDefaultBase<TextUnderlinePosition, &RenderStyle::textUnderlinePosition, TextUnderlinePosition, &RenderStyle::setTextUnderlinePosition, TextUnderlinePosition, &RenderStyle::initialTextUnderlinePosition>::createHandler();
1177
        return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
1178
    }
1179
};
1180
#endif // CSS3_TEXT
1181
1154
class ApplyPropertyLineHeight {
1182
class ApplyPropertyLineHeight {
1155
public:
1183
public:
1156
    static void applyValue(CSSPropertyID, StyleResolver::State& state, CSSValue* value)
1184
    static void applyValue(CSSPropertyID, StyleResolver::State& state, CSSValue* value)
Lines 1929-1934 StyleBuilder::StyleBuilder() a/Source/WebCore/css/StyleBuilder.cpp_sec2
1929
    setPropertyHandler(CSSPropertyWebkitTextDecorationLine, ApplyPropertyTextDecoration::createHandler());
1957
    setPropertyHandler(CSSPropertyWebkitTextDecorationLine, ApplyPropertyTextDecoration::createHandler());
1930
    setPropertyHandler(CSSPropertyWebkitTextDecorationStyle, ApplyPropertyDefault<TextDecorationStyle, &RenderStyle::textDecorationStyle, TextDecorationStyle, &RenderStyle::setTextDecorationStyle, TextDecorationStyle, &RenderStyle::initialTextDecorationStyle>::createHandler());
1958
    setPropertyHandler(CSSPropertyWebkitTextDecorationStyle, ApplyPropertyDefault<TextDecorationStyle, &RenderStyle::textDecorationStyle, TextDecorationStyle, &RenderStyle::setTextDecorationStyle, TextDecorationStyle, &RenderStyle::initialTextDecorationStyle>::createHandler());
1931
    setPropertyHandler(CSSPropertyWebkitTextAlignLast, ApplyPropertyDefault<TextAlignLast, &RenderStyle::textAlignLast, TextAlignLast, &RenderStyle::setTextAlignLast, TextAlignLast, &RenderStyle::initialTextAlignLast>::createHandler());
1959
    setPropertyHandler(CSSPropertyWebkitTextAlignLast, ApplyPropertyDefault<TextAlignLast, &RenderStyle::textAlignLast, TextAlignLast, &RenderStyle::setTextAlignLast, TextAlignLast, &RenderStyle::initialTextAlignLast>::createHandler());
1960
    setPropertyHandler(CSSPropertyWebkitTextUnderlinePosition, ApplyPropertyTextUnderlinePosition::createHandler());
1932
#endif // CSS3_TEXT
1961
#endif // CSS3_TEXT
1933
    setPropertyHandler(CSSPropertyTextIndent, ApplyPropertyLength<&RenderStyle::textIndent, &RenderStyle::setTextIndent, &RenderStyle::initialTextIndent>::createHandler());
1962
    setPropertyHandler(CSSPropertyTextIndent, ApplyPropertyLength<&RenderStyle::textIndent, &RenderStyle::setTextIndent, &RenderStyle::initialTextIndent>::createHandler());
1934
    setPropertyHandler(CSSPropertyTextOverflow, ApplyPropertyDefault<TextOverflow, &RenderStyle::textOverflow, TextOverflow, &RenderStyle::setTextOverflow, TextOverflow, &RenderStyle::initialTextOverflow>::createHandler());
1963
    setPropertyHandler(CSSPropertyTextOverflow, ApplyPropertyDefault<TextOverflow, &RenderStyle::textOverflow, TextOverflow, &RenderStyle::setTextOverflow, TextOverflow, &RenderStyle::initialTextOverflow>::createHandler());
- 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 / +37 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
            const int underlineOffset = computeUnderlineOffset(underlinePosition, styleToUse->fontMetrics(), this, textDecorationThickness);
1069
            context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + underlineOffset), width, isPrinting);
1070
1040
            if (decorationStyle == TextDecorationStyleDouble)
1071
            if (decorationStyle == TextDecorationStyleDouble)
1041
                context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + baseline + 1 + doubleOffset), width, isPrinting);
1072
                context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + underlineOffset + doubleOffset), width, isPrinting);
1073
#else
1074
            // Leave one pixel of white between the baseline and the underline.
1075
            context->drawLineForText(FloatPoint(localOrigin.x(), localOrigin.y() + baseline + 1), width, isPrinting);
1042
#endif // CSS3_TEXT
1076
#endif // CSS3_TEXT
1043
        }
1077
        }
1044
        if (deco & OVERLINE) {
1078
        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 +3 lines
Lines 566-571 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec1
566
#if ENABLE(CSS3_TEXT)
566
#if ENABLE(CSS3_TEXT)
567
    TextDecorationStyle textDecorationStyle() const { return static_cast<TextDecorationStyle>(rareNonInheritedData->m_textDecorationStyle); }
567
    TextDecorationStyle textDecorationStyle() const { return static_cast<TextDecorationStyle>(rareNonInheritedData->m_textDecorationStyle); }
568
    TextAlignLast textAlignLast() const { return static_cast<TextAlignLast>(rareInheritedData->m_textAlignLast); }
568
    TextAlignLast textAlignLast() const { return static_cast<TextAlignLast>(rareInheritedData->m_textAlignLast); }
569
    TextUnderlinePosition textUnderlinePosition() const { return static_cast<TextUnderlinePosition>(rareInheritedData->m_textUnderlinePosition); }
569
#else
570
#else
570
    TextDecorationStyle textDecorationStyle() const { return TextDecorationStyleSolid; }
571
    TextDecorationStyle textDecorationStyle() const { return TextDecorationStyleSolid; }
571
#endif // CSS3_TEXT
572
#endif // CSS3_TEXT
Lines 1106-1111 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec2
1106
#if ENABLE(CSS3_TEXT)
1107
#if ENABLE(CSS3_TEXT)
1107
    void setTextDecorationStyle(TextDecorationStyle v) { SET_VAR(rareNonInheritedData, m_textDecorationStyle, v); }
1108
    void setTextDecorationStyle(TextDecorationStyle v) { SET_VAR(rareNonInheritedData, m_textDecorationStyle, v); }
1108
    void setTextAlignLast(TextAlignLast v) { SET_VAR(rareInheritedData, m_textAlignLast, v); }
1109
    void setTextAlignLast(TextAlignLast v) { SET_VAR(rareInheritedData, m_textAlignLast, v); }
1110
    void setTextUnderlinePosition(TextUnderlinePosition v) { SET_VAR(rareInheritedData, m_textUnderlinePosition, v); }
1109
#endif // CSS3_TEXT
1111
#endif // CSS3_TEXT
1110
    void setDirection(TextDirection v) { inherited_flags._direction = v; }
1112
    void setDirection(TextDirection v) { inherited_flags._direction = v; }
1111
    void setLineHeight(Length specifiedLineHeight);
1113
    void setLineHeight(Length specifiedLineHeight);
Lines 1572-1577 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec3
1572
#if ENABLE(CSS3_TEXT)
1574
#if ENABLE(CSS3_TEXT)
1573
    static TextDecorationStyle initialTextDecorationStyle() { return TextDecorationStyleSolid; }
1575
    static TextDecorationStyle initialTextDecorationStyle() { return TextDecorationStyleSolid; }
1574
    static TextAlignLast initialTextAlignLast() { return TextAlignLastAuto; }
1576
    static TextAlignLast initialTextAlignLast() { return TextAlignLastAuto; }
1577
    static TextUnderlinePosition initialTextUnderlinePosition() { return TextUnderlinePositionAuto; }
1575
#endif // CSS3_TEXT
1578
#endif // CSS3_TEXT
1576
    static float initialZoom() { return 1.0f; }
1579
    static float initialZoom() { return 1.0f; }
1577
    static int initialOutlineOffset() { return 0; }
1580
    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 40-47 a/Source/WebKit/chromium/features.gypi_sec1
40
      'ENABLE_CANVAS_PROXY=1',
40
      'ENABLE_CANVAS_PROXY=1',
41
      'ENABLE_CHANNEL_MESSAGING=1',
41
      'ENABLE_CHANNEL_MESSAGING=1',
42
      'ENABLE_CSP_NEXT=1',
42
      'ENABLE_CSP_NEXT=1',
43
      'ENABLE_CSS3_CONDITIONAL_RULES=0',
43
      'ENABLE_CSS3_CONDITIONAL_RULES=1',
44
      'ENABLE_CSS3_TEXT=0',
44
      'ENABLE_CSS3_TEXT=1',
45
      'ENABLE_CSS_BOX_DECORATION_BREAK=1',
45
      'ENABLE_CSS_BOX_DECORATION_BREAK=1',
46
      'ENABLE_CSS_COMPOSITING=0',
46
      'ENABLE_CSS_COMPOSITING=0',
47
      'ENABLE_CSS_DEVICE_ADAPTATION=0',
47
      'ENABLE_CSS_DEVICE_ADAPTATION=0',
- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 50-57 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig_sec1
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
52
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS_VARIABLES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
54
ENABLE_CSS3_TEXT = ;
54
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/WebKit2/Configurations/FeatureDefines.xcconfig -2 / +2 lines
Lines 50-57 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS; a/Source/WebKit2/Configurations/FeatureDefines.xcconfig_sec1
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
51
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
52
ENABLE_CSS_VARIABLES = ;
52
ENABLE_CSS_VARIABLES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ;
53
ENABLE_CSS3_CONDITIONAL_RULES = ENABLE_CSS3_CONDITIONAL_RULES;
54
ENABLE_CSS3_TEXT = ;
54
ENABLE_CSS3_TEXT = ENABLE_CSS3_TEXT;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
55
ENABLE_CUSTOM_SCHEME_HANDLER = ;
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
56
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
57
ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
- a/Source/autotools/ReadCommandLineArguments.m4 -1 / +17 lines
Lines 207-210 AC_ARG_ENABLE([introspection], a/Source/autotools/ReadCommandLineArguments.m4_sec1
207
    [enable_introspection=no])
207
    [enable_introspection=no])
208
AC_MSG_RESULT([$enable_introspection])
208
AC_MSG_RESULT([$enable_introspection])
209
209
210
210
# check whether to enable CSS3 conditional rules support
211
AC_MSG_CHECKING([whether to enable CSS3 conditional rules support])
212
AC_ARG_ENABLE(css3_conditional_rules,
213
              AC_HELP_STRING([--enable-conditional-rules],
214
                             [enable CSS3 conditional rules support [default=yes]]),
215
              [],[enable_css3_conditional_rules="yes"])
216
AC_MSG_RESULT([$enable_css3_conditional_rules])
217
AM_CONDITIONAL([ENABLE_CSS3_CONDITIONAL_RULES],[test "$enable_css3_conditional_rules" = "yes"])
218
219
# check whether to enable CSS3 text decoration support
220
AC_MSG_CHECKING([whether to enable CSS3 text decoration support])
221
AC_ARG_ENABLE(css3_text,
222
              AC_HELP_STRING([--enable-css3-text-decoration],
223
                             [enable CSS3 text decoration support [default=yes]]),
224
              [],[enable_css3_text="yes"])
225
AC_MSG_RESULT([$enable_css3_text])
226
AM_CONDITIONAL([ENABLE_CSS3_TEXT],[test "$enable_css3_text" = "yes"])
- a/Source/autotools/SetupWebKitFeatures.m4 -2 / +2 lines
Lines 12-18 read -d '' DEFAULT_FEATURE_DEFINES <<"EOF" a/Source/autotools/SetupWebKitFeatures.m4_sec1
12
	ENABLE_CANVAS_PROXY=0
12
	ENABLE_CANVAS_PROXY=0
13
	ENABLE_CHANNEL_MESSAGING=1
13
	ENABLE_CHANNEL_MESSAGING=1
14
	ENABLE_CSP_NEXT=0
14
	ENABLE_CSP_NEXT=0
15
	ENABLE_CSS3_TEXT=0
15
	ENABLE_CSS3_TEXT=1
16
	ENABLE_CSS_BOX_DECORATION_BREAK=1
16
	ENABLE_CSS_BOX_DECORATION_BREAK=1
17
	ENABLE_CSS_COMPOSITING=0
17
	ENABLE_CSS_COMPOSITING=0
18
	ENABLE_CSS_DEVICE_ADAPTATION=0
18
	ENABLE_CSS_DEVICE_ADAPTATION=0
Lines 24-30 read -d '' DEFAULT_FEATURE_DEFINES <<"EOF" a/Source/autotools/SetupWebKitFeatures.m4_sec2
24
	ENABLE_CSS_STICKY_POSITION=0
24
	ENABLE_CSS_STICKY_POSITION=0
25
	ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=0
25
	ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=0
26
	ENABLE_CSS_VARIABLES=0
26
	ENABLE_CSS_VARIABLES=0
27
	ENABLE_CSS3_CONDITIONAL_RULES=0
27
	ENABLE_CSS3_CONDITIONAL_RULES=1
28
	ENABLE_CUSTOM_SCHEME_HANDLER=0
28
	ENABLE_CUSTOM_SCHEME_HANDLER=0
29
	ENABLE_DASHBOARD_SUPPORT=0
29
	ENABLE_DASHBOARD_SUPPORT=0
30
	ENABLE_DATALIST_ELEMENT=0
30
	ENABLE_DATALIST_ELEMENT=0
- 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 22-29 macro(WEBKIT_OPTION_BEGIN) a/Source/cmake/WebKitFeatures.cmake_sec1
22
    WEBKIT_OPTION_DEFINE(ENABLE_CANVAS_PROXY "Toggle CanvasProxy support" OFF)
22
    WEBKIT_OPTION_DEFINE(ENABLE_CANVAS_PROXY "Toggle CanvasProxy support" OFF)
23
    WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
23
    WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
24
    WEBKIT_OPTION_DEFINE(ENABLE_CSP_NEXT "Toggle Content Security Policy 1.1 support" OFF)
24
    WEBKIT_OPTION_DEFINE(ENABLE_CSP_NEXT "Toggle Content Security Policy 1.1 support" OFF)
25
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_CONDITIONAL_RULES "Toggle CSS3 Conditional Rules support" OFF)
25
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_CONDITIONAL_RULES "Toggle CSS3 Conditional Rules support" ON)
26
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT "Toggle CSS3 Text support" OFF)
26
    WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT "Toggle CSS3 Text support" ON)
27
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration break (CSS Backgrounds and Borders) support" ON)
27
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration break (CSS Backgrounds and Borders) support" ON)
28
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_COMPOSITING "Toggle CSS COMPOSITING support" OFF)
28
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_COMPOSITING "Toggle CSS COMPOSITING support" OFF)
29
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_DEVICE_ADAPTATION "Toggle CSS Device Adaptation support" OFF)
29
    WEBKIT_OPTION_DEFINE(ENABLE_CSS_DEVICE_ADAPTATION "Toggle CSS Device Adaptation support" OFF)
- a/Tools/Scripts/webkitperl/FeatureList.pm -2 / +2 lines
Lines 186-195 my @features = ( a/Tools/Scripts/webkitperl/FeatureList.pm_sec1
186
      define => "ENABLE_CSS_FILTERS", default => isAppleWebKit() || isBlackBerry(), value => \$cssFiltersSupport },
186
      define => "ENABLE_CSS_FILTERS", default => isAppleWebKit() || isBlackBerry(), value => \$cssFiltersSupport },
187
187
188
    { option => "css3-conditional-rules", desc => "Toggle CSS3 Conditional Rules support (i.e. \@supports)",
188
    { option => "css3-conditional-rules", desc => "Toggle CSS3 Conditional Rules support (i.e. \@supports)",
189
      define => "ENABLE_CSS3_CONDITIONAL_RULES", default => 0, value => \$css3ConditionalRulesSupport },
189
      define => "ENABLE_CSS3_CONDITIONAL_RULES", default => 1, value => \$css3ConditionalRulesSupport },
190
190
191
    { option => "css3-text", desc => "Toggle CSS3 Text support",
191
    { option => "css3-text", desc => "Toggle CSS3 Text support",
192
      define => "ENABLE_CSS3_TEXT", default => (isEfl() || isGtk()), value => \$css3TextSupport },
192
      define => "ENABLE_CSS3_TEXT", default => 1, value => \$css3TextSupport },
193
193
194
    { option => "css-box-decoration-break", desc => "Toggle CSS box-decoration-break support",
194
    { option => "css-box-decoration-break", desc => "Toggle CSS box-decoration-break support",
195
      define => "ENABLE_CSS_BOX_DECORATION_BREAK", default => 1, value => \$cssBoxDecorationBreakSupport },
195
      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_UNPREFIXED=1 \
35
    ENABLE_CSS_TRANSFORMS_ANIMATIONS_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-02-22  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/text-underline-position-alphabetic1-expected.txt: Added.
12
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic1.html: Added.
13
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic2-expected.txt: Added.
14
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic2.html: Added.
15
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic3-expected.txt: Added.
16
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic3.html: Added.
17
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4-expected.txt: Added.
18
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4.html: Added.
19
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic5-expected.txt: Added.
20
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic5.html: Added.
21
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto1-expected.txt: Added.
22
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto1.html: Added.
23
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto2-expected.txt: Added.
24
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto2.html: Added.
25
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto3-expected.txt: Added.
26
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto3.html: Added.
27
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4-expected.txt: Added.
28
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4.html: Added.
29
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto5-expected.txt: Added.
30
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto5.html: Added.
31
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under1-expected.txt: Added.
32
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under1.html: Added.
33
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under2-expected.txt: Added.
34
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under2.html: Added.
35
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under3-expected.txt: Added.
36
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under3.html: Added.
37
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4-expected.txt: Added.
38
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4.html: Added.
39
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under5-expected.txt: Added.
40
        * fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under5.html: Added.
41
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic1-expected.png: Added.
42
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic2-expected.png: Added.
43
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic3-expected.png: Added.
44
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4-expected.png: Added.
45
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic5-expected.png: Added.
46
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto1-expected.png: Added.
47
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto2-expected.png: Added.
48
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto3-expected.png: Added.
49
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4-expected.png: Added.
50
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto5-expected.png: Added.
51
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under1-expected.png: Added.
52
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under2-expected.png: Added.
53
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under3-expected.png: Added.
54
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4-expected.png: Added.
55
        * platform/chromium-linux/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under5-expected.png: Added.
56
57
2013-02-22  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-02-22  Ádám Kallai  <kadam@inf.u-szeged.hu>
72
2013-02-22  Ádám Kallai  <kadam@inf.u-szeged.hu>
2
73
3
        [Qt] Unreviewed gardening. Added platform specific expected files after 143626.
74
        [Qt] Unreviewed gardening. Added platform specific expected files after 143626.
- 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/text-underline-position-alphabetic1-expected.txt +8 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-alphabetic1.html +16 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic1.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div class="alphabetic"><p>lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
13
        <div><p class="alphabetic">lorem ipsum<br><span>text-decoration in span</span>lorem ipsum</p></div>
14
        <div><p class="alphabetic">lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
15
    </body>
16
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic2-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-alphabetic2.html +20 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic2.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div class="alphabetic"><p>&nbsp;1 lorem ipsum&nbsp;&nbsp;
13
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
14
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
15
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
16
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></p>
18
        </div>
19
    </body>
20
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic3-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-alphabetic3.html +22 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic3.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p>
13
            <span class="alphabetic solid">&nbsp;1 lorem ipsum&nbsp;&nbsp;
14
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
15
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span></span><br>
16
            <span class="alphabetic solid">&nbsp;4 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
18
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></span>
19
            </p>
20
        </div>
21
    </body>
22
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4-expected.txt_sec1
1
 lorem ipsum           
2
 lorem ipsum           
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4.html +18 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic4.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p>
13
            <span class="alphabetic solid" style="vertical-align: -3em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span><br>
14
            <span class="alphabetic solid" style="vertical-align: -2em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span>
15
            </p>
16
        </div>
17
    </body>
18
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic5-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-alphabetic5.html +22 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic5.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p class="alphabetic solid">
13
            &nbsp;1 lorem ipsum&nbsp;&nbsp;
14
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
15
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
16
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
18
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span>
19
            </p>
20
        </div>
21
    </body>
22
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto1-expected.txt +8 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-auto1.html +16 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto1.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div class="auto"><p>lorem ipsum<br><span class="under">text-decoration in span</span>lorem ipsum</p></div>
13
        <div><p class="auto">lorem ipsum<br><span>text-decoration in span</span>lorem ipsum</p></div>
14
        <div><p class="auto">lorem ipsum<br><span class="under">text-decoration in span</span>lorem ipsum</p></div>
15
    </body>
16
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto2-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-auto2.html +20 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto2.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div class="auto"><p>&nbsp;1 lorem ipsum&nbsp;&nbsp;
13
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
14
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
15
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
16
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></p>
18
        </div>
19
    </body>
20
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto3-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-auto3.html +22 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto3.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p>
13
            <span class="auto solid">&nbsp;1 lorem ipsum&nbsp;&nbsp;
14
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
15
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span></span><br>
16
            <span class="auto solid">&nbsp;4 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
18
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></span>
19
            </p>
20
        </div>
21
    </body>
22
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4-expected.txt_sec1
1
 lorem ipsum           
2
 lorem ipsum           
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4.html +18 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto4.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p>
13
            <span class="auto solid" style="vertical-align: -3em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span><br>
14
            <span class="auto solid" style="vertical-align: -2em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span>
15
            </p>
16
        </div>
17
    </body>
18
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto5-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-auto5.html +22 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto5.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p class="auto solid">
13
            &nbsp;1 lorem ipsum&nbsp;&nbsp;
14
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
15
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
16
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
18
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span>
19
            </p>
20
        </div>
21
    </body>
22
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under1-expected.txt +8 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-under1.html +16 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under1.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div class="under"><p>lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
13
        <div><p class="under">lorem ipsum<br><span>text-decoration in span</span>lorem ipsum</p></div>
14
        <div><p class="under">lorem ipsum<br><span class="auto">text-decoration in span</span>lorem ipsum</p></div>
15
    </body>
16
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under2-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-under2.html +20 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under2.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div class="under"><p>&nbsp;1 lorem ipsum&nbsp;&nbsp;
13
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
14
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
15
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
16
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></p>
18
        </div>
19
    </body>
20
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under3-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-under3.html +22 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under3.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p>
13
            <span class="under solid">&nbsp;1 lorem ipsum&nbsp;&nbsp;
14
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
15
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span></span><br>
16
            <span class="under solid">&nbsp;4 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
18
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span></span>
19
            </p>
20
        </div>
21
    </body>
22
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4-expected.txt_sec1
1
 lorem ipsum           
2
 lorem ipsum           
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4.html +18 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under4.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p>
13
            <span class="under solid" style="vertical-align: -3em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span><br>
14
            <span class="under solid" style="vertical-align: -2em;">&nbsp;lorem ipsum&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span>
15
            </p>
16
        </div>
17
    </body>
18
</html>
- a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under5-expected.txt +2 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/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/text-underline-position-under5.html +22 lines
Line 0 a/LayoutTests/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under5.html_sec1
1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
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 src="script.js"></script>
9
        <link rel="stylesheet" type="text/css" href="style.css">
10
    </head>
11
    <body>
12
        <div><p class="under solid">
13
            &nbsp;1 lorem ipsum&nbsp;&nbsp;
14
            <span style="vertical-align: 3em;">&nbsp;2 lorem ipsum&nbsp;&nbsp;</span>
15
            <span style="vertical-align: -2em;">&nbsp;3 lorem ipsum&nbsp;&nbsp;</span><br>
16
            &nbsp;4 lorem ipsum&nbsp;&nbsp;
17
            <span style="vertical-align: middle">&nbsp;5 lorem ipsum&nbsp;&nbsp;
18
            <span style="vertical-align: middle">&nbsp;6 lorem ipsum&nbsp;&nbsp;</span></span>
19
            </p>
20
        </div>
21
    </body>
22
</html>
- a/LayoutTests/platform/chromium/TestExpectations -1 / +1 lines
Lines 222-228 webkit.org/b/85262 fast/media/mq-resolution-dpi-dpcm-warning.html [ Skip ] a/LayoutTests/platform/chromium/TestExpectations_sec1
222
# CSS image-orientation is not yet enabled.
222
# CSS image-orientation is not yet enabled.
223
webkit.org/b/89052 fast/css/image-orientation
223
webkit.org/b/89052 fast/css/image-orientation
224
224
225
# CSS3 Text support is not yet enabled (needs ENABLE_CSS3_TEXT).
225
# Those two still lack -expected.png files. See https://bugs.webkit.org/show_bug.cgi?id=100546.
226
webkit.org/b/58491 fast/css3-text/css3-text-decoration
226
webkit.org/b/58491 fast/css3-text/css3-text-decoration
227
webkit.org/b/76173 fast/css3-text/css3-text-align-last
227
webkit.org/b/76173 fast/css3-text/css3-text-align-last
228
228
- a/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops -2 / +2 lines
Lines 53-64 a/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops_sec1
53
	/>
53
	/>
54
  <UserMacro
54
  <UserMacro
55
		Name="ENABLE_CSS3_CONDITIONAL_RULES"
55
		Name="ENABLE_CSS3_CONDITIONAL_RULES"
56
		Value=""
56
		Value="ENABLE_CSS3_CONDITIONAL_RULES"
57
		PerformEnvironmentSet="true"
57
		PerformEnvironmentSet="true"
58
	/>
58
	/>
59
  <UserMacro
59
  <UserMacro
60
		Name="ENABLE_CSS3_TEXT"
60
		Name="ENABLE_CSS3_TEXT"
61
		Value=""
61
		Value="ENABLE_CSS3_TEXT"
62
		PerformEnvironmentSet="true"
62
		PerformEnvironmentSet="true"
63
	/>
63
	/>
64
  <UserMacro
64
  <UserMacro

Return to Bug 102795