| Differences between
and this patch
- a/Source/WebCore/ChangeLog +65 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2022-03-25  Oriol Brufau  <obrufau@igalia.com>
2
3
        [css] Turn -webkit-text-orientation into a legacy shorthand
4
        https://bugs.webkit.org/show_bug.cgi?id=238356
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        `-webkit-text-orientation` and `text-orientation` were both implemented
9
        as longhands, just with a `related-property` flag so that declaration
10
        blocks with both of them would use the one appearing last.
11
12
        However, the logic for `related-property` wasn't always working well.
13
        In bug 238350 I plan to merge it with shouldApplyPropertyInParseOrder(),
14
        which has the same purpose and works better. But it's not suitable for
15
        high priority properties like `text-orientation`.
16
17
        So this patch turns `-webkit-text-orientation` into a shorthand that
18
        expands into `text-orientation`.
19
20
        `-webkit-text-orientation` continues accepting the legacy value
21
        `sideways-right`, which is now mapped into `sideways` at parse time.
22
        Previously this happened at computed-value time, but it implied that
23
        serializing `text-decoration` could yield an invalid value.
24
25
        Tests: fast/text/text-orientation-parse-competition.html
26
               fast/text/text-orientation-parse-stylesheet.html
27
28
        * css/CSSPrimitiveValueMappings.h:
29
        (WebCore::CSSPrimitiveValue::operator TextOrientation const):
30
        Remove mapping of `sideways-right` into `sideways`, this is now
31
        done at parse time. Also remove mapping of `vertical-right` into `mixed`
32
        since `vertical-right` is a remnant of the past which has not been
33
        considered valid syntax for years.
34
35
        * css/CSSProperties.json:
36
        Turn `-webkit-text-orientation` into a shorthand of `text-orientation`.
37
        Remove their `related-property` flags and a remnant of `vertical-right`.
38
39
        * css/StyleProperties.cpp:
40
        (WebCore::StyleProperties::getPropertyValue const):
41
        Add code for serializing the `-webkit-text-orientation` shorthand.
42
43
        * css/makeprop.pl:
44
        Avoid a compile warning in getRelatedPropertyId() when no property has
45
        the `related-property` flag.
46
47
        * css/parser/CSSParserFastPaths.cpp:
48
        (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
49
        (WebCore::CSSParserFastPaths::isKeywordPropertyID):
50
        Remove `-webkit-text-orientation` from code which is only relevant for
51
        longhands.
52
53
        * css/parser/CSSPropertyParser.cpp:
54
        (WebCore::CSSPropertyParser::consumeLegacyTextOrientation):
55
        (WebCore::CSSPropertyParser::parseShorthand):
56
        Add parsing logic for `-webkit-text-orientation` as a shorthand.
57
58
        * css/parser/CSSPropertyParser.h:
59
        Add parsing logic for `-webkit-text-orientation` as a shorthand.
60
61
        * style/StyleBuilderCustom.h:
62
        (WebCore::Style::BuilderCustom::applyValueWebkitTextOrientation): Deleted.
63
        Remove `-webkit-text-orientation` from code which is only relevant for
64
        longhands.
65
1
2022-03-23  Youenn Fablet  <youenn@apple.com>
66
2022-03-23  Youenn Fablet  <youenn@apple.com>
2
67
3
        VideoFrame does not need to inherit from MediaSample
68
        VideoFrame does not need to inherit from MediaSample
- a/Source/WebCore/css/CSSPrimitiveValueMappings.h -4 lines
Lines 3304-3313 template<> inline CSSPrimitiveValue::operator TextOrientation() const a/Source/WebCore/css/CSSPrimitiveValueMappings.h_sec1
3304
    switch (m_value.valueID) {
3304
    switch (m_value.valueID) {
3305
    case CSSValueSideways:
3305
    case CSSValueSideways:
3306
        return TextOrientation::Sideways;
3306
        return TextOrientation::Sideways;
3307
    case CSSValueSidewaysRight:
3308
        return TextOrientation::Sideways;
3309
    case CSSValueVerticalRight:
3310
        return TextOrientation::Mixed;
3311
    case CSSValueMixed:
3307
    case CSSValueMixed:
3312
        return TextOrientation::Mixed;
3308
        return TextOrientation::Mixed;
3313
    case CSSValueUpright:
3309
    case CSSValueUpright:
- a/Source/WebCore/css/CSSProperties.json -10 / +4 lines
Lines 142-149 a/Source/WebCore/css/CSSProperties.json_sec1
142
        "in CSS cascading order.",
142
        "in CSS cascading order.",
143
        "",
143
        "",
144
        "* related-property:",
144
        "* related-property:",
145
        "Indicates the prefixed or unprefixed version of the same property,",
145
        "Indicates the prefixed or unprefixed version of the same property.",
146
        "e.g. -webkit-text-orientation has a related property text-orientation",
147
        "When parsing high priority CSS properties with both prefixed and unprefixed",
146
        "When parsing high priority CSS properties with both prefixed and unprefixed",
148
        "versions, this flig will help the parser to mark all related properties ",
147
        "versions, this flig will help the parser to mark all related properties ",
149
        "as seen when one is seen. This could enforce the 'last-one-wins' rule.",
148
        "as seen when one is seen. This could enforce the 'last-one-wins' rule.",
Lines 690-696 a/Source/WebCore/css/CSSProperties.json_sec2
690
            ],
689
            ],
691
            "codegen-properties": {
690
            "codegen-properties": {
692
                "custom": "Value",
691
                "custom": "Value",
693
                "related-property": "-webkit-text-orientation",
694
                "high-priority": true
692
                "high-priority": true
695
            },
693
            },
696
            "specification": {
694
            "specification": {
Lines 706-715 a/Source/WebCore/css/CSSProperties.json_sec3
706
                    "value": "sideways-right",
704
                    "value": "sideways-right",
707
                    "status": "deprecated"
705
                    "status": "deprecated"
708
                },
706
                },
709
                {
710
                    "value": "vertical-right",
711
                    "status": "non-standard"
712
                },
713
                "mixed",
707
                "mixed",
714
                "upright"
708
                "upright"
715
            ],
709
            ],
Lines 717-725 a/Source/WebCore/css/CSSProperties.json_sec4
717
                "aliases": [
711
                "aliases": [
718
                    "-epub-text-orientation"
712
                    "-epub-text-orientation"
719
                ],
713
                ],
720
                "related-property": "text-orientation",
714
                "longhands": [
721
                "custom": "Value",
715
                    "text-orientation"
722
                "high-priority": true
716
                ]
723
            },
717
            },
724
            "specification": {
718
            "specification": {
725
                "category": "css-writing-modes",
719
                "category": "css-writing-modes",
- a/Source/WebCore/css/StyleProperties.cpp +2 lines
Lines 349-354 String StyleProperties::getPropertyValue(CSSPropertyID propertyID) const a/Source/WebCore/css/StyleProperties.cpp_sec1
349
        return get2Values(scrollPaddingBlockShorthand());
349
        return get2Values(scrollPaddingBlockShorthand());
350
    case CSSPropertyScrollPaddingInline:
350
    case CSSPropertyScrollPaddingInline:
351
        return get2Values(scrollPaddingInlineShorthand());
351
        return get2Values(scrollPaddingInlineShorthand());
352
    case CSSPropertyWebkitTextOrientation:
353
        return getPropertyValue(CSSPropertyTextOrientation);
352
    default:
354
    default:
353
        return String();
355
        return String();
354
    }
356
    }
- a/Source/WebCore/css/makeprop.pl -10 / +23 lines
Lines 587-609 bool CSSProperty::isInheritedProperty(CSSPropertyID id) a/Source/WebCore/css/makeprop.pl_sec1
587
    ASSERT(id != CSSPropertyInvalid);
587
    ASSERT(id != CSSPropertyInvalid);
588
    return isInheritedPropertyTable[id];
588
    return isInheritedPropertyTable[id];
589
}
589
}
590
    
590
591
CSSPropertyID getRelatedPropertyId(CSSPropertyID id)
591
EOF
592
593
if (%relatedProperty) {
594
    print GPERF << "EOF";
595
CSSPropertyID getRelatedPropertyId(const CSSPropertyID id)
592
{
596
{
593
    switch (id) {
597
    switch (id) {
594
EOF
598
EOF
595
for my $name (@names) {
599
    for my $name (@names) {
596
    if (!$relatedProperty{$name}) {
600
        if (!$relatedProperty{$name}) {
597
        next;
601
            next;
602
        }
603
        print GPERF "    case CSSPropertyID::CSSProperty" . $nameToId{$name} . ":\n";
604
        print GPERF "        return CSSPropertyID::CSSProperty" . $nameToId{$relatedProperty{$name}} . ";\n";
598
    }
605
    }
599
    print GPERF "    case CSSPropertyID::CSSProperty" . $nameToId{$name} . ":\n";
606
    print GPERF << "EOF";
600
    print GPERF "        return CSSPropertyID::CSSProperty" . $nameToId{$relatedProperty{$name}} . ";\n";
601
}
602
        
603
print GPERF << "EOF";
604
    default:
607
    default:
605
        return CSSPropertyID::CSSPropertyInvalid;
608
        return CSSPropertyID::CSSPropertyInvalid;
606
    }
609
    }
610
EOF
611
} else {
612
    print GPERF << "EOF";
613
CSSPropertyID getRelatedPropertyId(const CSSPropertyID)
614
{
615
    return CSSPropertyID::CSSPropertyInvalid;
616
EOF
617
}
618
619
print GPERF << "EOF";
607
}
620
}
608
621
609
Vector<String> CSSProperty::aliasesForProperty(CSSPropertyID id)
622
Vector<String> CSSProperty::aliasesForProperty(CSSPropertyID id)
- a/Source/WebCore/css/parser/CSSParserFastPaths.cpp -3 / +1 lines
Lines 735-743 bool CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyID propertyId a/Source/WebCore/css/parser/CSSParserFastPaths.cpp_sec1
735
        // auto | none | inter-word | distribute
735
        // auto | none | inter-word | distribute
736
        return valueID == CSSValueInterWord || valueID == CSSValueDistribute || valueID == CSSValueAuto || valueID == CSSValueNone;
736
        return valueID == CSSValueInterWord || valueID == CSSValueDistribute || valueID == CSSValueAuto || valueID == CSSValueNone;
737
#endif
737
#endif
738
    case CSSPropertyWebkitTextOrientation: // mixed | upright | sideways | sideways-right
739
        return valueID == CSSValueMixed || valueID == CSSValueUpright || valueID == CSSValueSideways || valueID == CSSValueSidewaysRight;
740
    case CSSPropertyTextOrientation:
738
    case CSSPropertyTextOrientation:
739
        // mixed | upright | sideways
741
        return valueID == CSSValueMixed || valueID == CSSValueUpright || valueID == CSSValueSideways;
740
        return valueID == CSSValueMixed || valueID == CSSValueUpright || valueID == CSSValueSideways;
742
    case CSSPropertyTextOverflow: // clip | ellipsis
741
    case CSSPropertyTextOverflow: // clip | ellipsis
743
        return valueID == CSSValueClip || valueID == CSSValueEllipsis;
742
        return valueID == CSSValueClip || valueID == CSSValueEllipsis;
Lines 989-995 bool CSSParserFastPaths::isKeywordPropertyID(CSSPropertyID propertyId) a/Source/WebCore/css/parser/CSSParserFastPaths.cpp_sec2
989
    case CSSPropertyWebkitTextCombine:
988
    case CSSPropertyWebkitTextCombine:
990
    case CSSPropertyTextCombineUpright:
989
    case CSSPropertyTextCombineUpright:
991
    case CSSPropertyTextDecorationStyle:
990
    case CSSPropertyTextDecorationStyle:
992
    case CSSPropertyWebkitTextOrientation:
993
    case CSSPropertyWebkitTextSecurity:
991
    case CSSPropertyWebkitTextSecurity:
994
    case CSSPropertyWebkitTextZoom:
992
    case CSSPropertyWebkitTextZoom:
995
    case CSSPropertyWebkitTransformStyle:
993
    case CSSPropertyWebkitTransformStyle:
- a/Source/WebCore/css/parser/CSSPropertyParser.cpp +21 lines
Lines 5642-5647 bool CSSPropertyParser::consumeLegacyBreakProperty(CSSPropertyID property, bool a/Source/WebCore/css/parser/CSSPropertyParser.cpp_sec1
5642
    return true;
5642
    return true;
5643
}
5643
}
5644
5644
5645
bool CSSPropertyParser::consumeLegacyTextOrientation(bool important)
5646
{
5647
    // -webkit-text-orientation is a legacy shorthand for text-orientation.
5648
    // The only difference is that it accepts 'sideways-right', which is mapped into 'sideways'.
5649
    RefPtr<CSSPrimitiveValue> keyword;
5650
    auto valueID = m_range.peek().id();
5651
    if (valueID == CSSValueSidewaysRight) {
5652
        keyword = CSSValuePool::singleton().createIdentifierValue(CSSValueSideways);
5653
        consumeIdentRaw(m_range);
5654
    } else if (CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyTextOrientation, valueID, m_context))
5655
        keyword = consumeIdent(m_range);
5656
    else
5657
        return false;
5658
    if (!keyword || !m_range.atEnd())
5659
        return false;
5660
    addProperty(CSSPropertyTextOrientation, CSSPropertyWebkitTextOrientation, keyword.releaseNonNull(), important);
5661
    return true;
5662
}
5663
5645
static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParserContext& context, CSSPropertyID property, RefPtr<CSSValue>& resultX, RefPtr<CSSValue>& resultY)
5664
static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParserContext& context, CSSPropertyID property, RefPtr<CSSValue>& resultX, RefPtr<CSSValue>& resultY)
5646
{
5665
{
5647
    do {
5666
    do {
Lines 6450-6455 bool CSSPropertyParser::parseShorthand(CSSPropertyID property, bool important) a/Source/WebCore/css/parser/CSSPropertyParser.cpp_sec2
6450
    case CSSPropertyWebkitColumnBreakBefore:
6469
    case CSSPropertyWebkitColumnBreakBefore:
6451
    case CSSPropertyWebkitColumnBreakInside:
6470
    case CSSPropertyWebkitColumnBreakInside:
6452
        return consumeLegacyBreakProperty(property, important);
6471
        return consumeLegacyBreakProperty(property, important);
6472
    case CSSPropertyWebkitTextOrientation:
6473
        return consumeLegacyTextOrientation(important);
6453
    case CSSPropertyMaskPosition:
6474
    case CSSPropertyMaskPosition:
6454
    case CSSPropertyWebkitMaskPosition:
6475
    case CSSPropertyWebkitMaskPosition:
6455
    case CSSPropertyBackgroundPosition: {
6476
    case CSSPropertyBackgroundPosition: {
- a/Source/WebCore/css/parser/CSSPropertyParser.h +1 lines
Lines 117-122 private: a/Source/WebCore/css/parser/CSSPropertyParser.h_sec1
117
    bool consumeFlex(bool important);
117
    bool consumeFlex(bool important);
118
118
119
    bool consumeLegacyBreakProperty(CSSPropertyID, bool important);
119
    bool consumeLegacyBreakProperty(CSSPropertyID, bool important);
120
    bool consumeLegacyTextOrientation(bool important);
120
121
121
    bool consumeTransformOrigin(bool important);
122
    bool consumeTransformOrigin(bool important);
122
    bool consumePerspectiveOrigin(bool important);
123
    bool consumePerspectiveOrigin(bool important);
- a/Source/WebCore/style/StyleBuilderCustom.h -6 lines
Lines 148-154 public: a/Source/WebCore/style/StyleBuilderCustom.h_sec1
148
    static void applyInitialTextAlign(BuilderState&);
148
    static void applyInitialTextAlign(BuilderState&);
149
    static void applyValueTextAlign(BuilderState&, CSSValue&);
149
    static void applyValueTextAlign(BuilderState&, CSSValue&);
150
    static void applyValueWebkitLocale(BuilderState&, CSSValue&);
150
    static void applyValueWebkitLocale(BuilderState&, CSSValue&);
151
    static void applyValueWebkitTextOrientation(BuilderState&, CSSValue&);
152
    static void applyValueTextOrientation(BuilderState&, CSSValue&);
151
    static void applyValueTextOrientation(BuilderState&, CSSValue&);
153
#if ENABLE(TEXT_AUTOSIZING)
152
#if ENABLE(TEXT_AUTOSIZING)
154
    static void applyValueWebkitTextSizeAdjust(BuilderState&, CSSValue&);
153
    static void applyValueWebkitTextSizeAdjust(BuilderState&, CSSValue&);
Lines 890-900 inline void BuilderCustom::applyValueWritingMode(BuilderState& builderState, CSS a/Source/WebCore/style/StyleBuilderCustom.h_sec2
890
    builderState.style().setHasExplicitlySetWritingMode(true);
889
    builderState.style().setHasExplicitlySetWritingMode(true);
891
}
890
}
892
891
893
inline void BuilderCustom::applyValueWebkitTextOrientation(BuilderState& builderState, CSSValue& value)
894
{
895
    builderState.setTextOrientation(downcast<CSSPrimitiveValue>(value));
896
}
897
898
inline void BuilderCustom::applyValueTextOrientation(BuilderState& builderState, CSSValue& value)
892
inline void BuilderCustom::applyValueTextOrientation(BuilderState& builderState, CSSValue& value)
899
{
893
{
900
    builderState.setTextOrientation(downcast<CSSPrimitiveValue>(value));
894
    builderState.setTextOrientation(downcast<CSSPrimitiveValue>(value));
- a/LayoutTests/ChangeLog +17 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2022-03-25  Oriol Brufau  <obrufau@igalia.com>
2
3
        [css] Turn -webkit-text-orientation into a legacy shorthand
4
        https://bugs.webkit.org/show_bug.cgi?id=238356
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * fast/text/text-orientation-parse-competition-expected.txt:
9
        * fast/text/text-orientation-parse-competition.html:
10
        Check that if a stylesheet specifies both -webkit-text-orientation and
11
        text-orientation for the same element, the last specified one wins.
12
13
        * fast/text/text-orientation-parse-stylesheet-expected.txt:
14
        * fast/text/text-orientation-parse-stylesheet.html:
15
        Check that only -webkit-text-orientation accepts `sideways-right`, and
16
        that it's mapped to `sideways` at parse time.
17
1
2022-03-23  Ziran Sun  <zsun@igalia.com>
18
2022-03-23  Ziran Sun  <zsun@igalia.com>
2
19
3
        [InputElement] Add HTMLInputElement::showPicker() method
20
        [InputElement] Add HTMLInputElement::showPicker() method
- a/LayoutTests/fast/text/text-orientation-parse-competition-expected.txt +12 lines
Lines 1-9 a/LayoutTests/fast/text/text-orientation-parse-competition-expected.txt_sec1
1
PASS window.getComputedStyle(document.getElementById('test1')).webkitTextOrientation is "upright"
1
PASS window.getComputedStyle(document.getElementById('test1')).webkitTextOrientation is "upright"
2
PASS window.getComputedStyle(document.getElementById('test2')).webkitTextOrientation is "upright"
2
PASS window.getComputedStyle(document.getElementById('test2')).webkitTextOrientation is "upright"
3
PASS window.getComputedStyle(document.getElementById('test3')).webkitTextOrientation is "upright"
4
PASS window.getComputedStyle(document.getElementById('test4')).webkitTextOrientation is "upright"
5
PASS window.getComputedStyle(document.getElementById('test5')).webkitTextOrientation is "upright"
6
PASS window.getComputedStyle(document.getElementById('test6')).webkitTextOrientation is "upright"
3
PASS window.getComputedStyle(document.getElementById('test1')).textOrientation is "upright"
7
PASS window.getComputedStyle(document.getElementById('test1')).textOrientation is "upright"
4
PASS window.getComputedStyle(document.getElementById('test2')).textOrientation is "upright"
8
PASS window.getComputedStyle(document.getElementById('test2')).textOrientation is "upright"
9
PASS window.getComputedStyle(document.getElementById('test3')).textOrientation is "upright"
10
PASS window.getComputedStyle(document.getElementById('test4')).textOrientation is "upright"
11
PASS window.getComputedStyle(document.getElementById('test5')).textOrientation is "upright"
12
PASS window.getComputedStyle(document.getElementById('test6')).textOrientation is "upright"
5
PASS successfullyParsed is true
13
PASS successfullyParsed is true
6
14
7
TEST COMPLETE
15
TEST COMPLETE
8
你好ABC
16
你好ABC
9
你好ABC
17
你好ABC
18
你好ABC
19
你好ABC
20
你好ABC
21
你好ABC
- a/LayoutTests/fast/text/text-orientation-parse-competition.html +23 lines
Lines 2-17 a/LayoutTests/fast/text/text-orientation-parse-competition.html_sec1
2
<html>
2
<html>
3
	<head>
3
	<head>
4
	<meta charset="utf-8">
4
	<meta charset="utf-8">
5
	<style>
6
		#test3 { -webkit-text-orientation: sideways; text-orientation: upright; }
7
8
		#test4 { text-orientation: sideways; -webkit-text-orientation: upright; }
9
10
		#test5 { -webkit-text-orientation: sideways; }
11
		#test5 { text-orientation: upright; }
12
13
		#test6 { text-orientation: sideways; }
14
		#test6 { -webkit-text-orientation: upright; }
15
	</style>
5
	<script src="../../resources/js-test-pre.js"></script>
16
	<script src="../../resources/js-test-pre.js"></script>
6
	</head>
17
	</head>
7
	<body>
18
	<body>
8
		<div id="test1" style="-webkit-writing-mode: vertical-rl; -webkit-text-orientation: sideways; text-orientation: upright">你好ABC</div>
19
		<div id="test1" style="-webkit-writing-mode: vertical-rl; -webkit-text-orientation: sideways; text-orientation: upright">你好ABC</div>
9
		<div id="test2" style="-webkit-writing-mode: vertical-rl; text-orientation: sideways; -webkit-text-orientation: upright">你好ABC</div>
20
		<div id="test2" style="-webkit-writing-mode: vertical-rl; text-orientation: sideways; -webkit-text-orientation: upright">你好ABC</div>
21
		<div id="test3" style="-webkit-writing-mode: vertical-rl">你好ABC</div>
22
		<div id="test4" style="-webkit-writing-mode: vertical-rl">你好ABC</div>
23
		<div id="test5" style="-webkit-writing-mode: vertical-rl">你好ABC</div>
24
		<div id="test6" style="-webkit-writing-mode: vertical-rl">你好ABC</div>
10
		<script>
25
		<script>
11
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test1')).webkitTextOrientation", "upright");
26
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test1')).webkitTextOrientation", "upright");
12
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test2')).webkitTextOrientation", "upright");
27
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test2')).webkitTextOrientation", "upright");
28
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test3')).webkitTextOrientation", "upright");
29
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test4')).webkitTextOrientation", "upright");
30
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test5')).webkitTextOrientation", "upright");
31
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test6')).webkitTextOrientation", "upright");
13
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test1')).textOrientation", "upright");
32
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test1')).textOrientation", "upright");
14
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test2')).textOrientation", "upright");
33
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test2')).textOrientation", "upright");
34
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test3')).textOrientation", "upright");
35
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test4')).textOrientation", "upright");
36
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test5')).textOrientation", "upright");
37
			shouldBeEqualToString("window.getComputedStyle(document.getElementById('test6')).textOrientation", "upright");
15
		</script>
38
		</script>
16
		<script src="../../resources/js-test-post.js"></script>
39
		<script src="../../resources/js-test-post.js"></script>
17
	</body>
40
	</body>
- a/LayoutTests/fast/text/text-orientation-parse-stylesheet-expected.txt -1 / +5 lines
Lines 3-15 PASS document.getElementById('test2').sheet.cssRules[0].style.getPropertyValue(' a/LayoutTests/fast/text/text-orientation-parse-stylesheet-expected.txt_sec1
3
PASS document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "upright"
3
PASS document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "upright"
4
PASS document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "mixed"
4
PASS document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "mixed"
5
PASS document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "mixed"
5
PASS document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "mixed"
6
PASS document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "sideways"
7
PASS document.getElementById('test7').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "sideways"
8
PASS document.getElementById('test8').sheet.cssRules[0].style.getPropertyValue('text-orientation') is ""
6
PASS document.getElementById('test1').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "upright"
9
PASS document.getElementById('test1').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "upright"
7
PASS document.getElementById('test2').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "upright"
10
PASS document.getElementById('test2').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "upright"
8
PASS document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "upright"
11
PASS document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "upright"
9
PASS document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "mixed"
12
PASS document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "mixed"
10
PASS document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "mixed"
13
PASS document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "mixed"
11
PASS document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "sideways"
14
PASS document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "sideways"
12
PASS document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('text-orientation') is "sideways"
15
PASS document.getElementById('test7').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is "sideways"
16
PASS document.getElementById('test8').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation') is ""
13
PASS successfullyParsed is true
17
PASS successfullyParsed is true
14
18
15
TEST COMPLETE
19
TEST COMPLETE
- a/LayoutTests/fast/text/text-orientation-parse-stylesheet.html -4 / +8 lines
Lines 11-16 a/LayoutTests/fast/text/text-orientation-parse-stylesheet.html_sec1
11
		<style id="test4"> dummy { text-orientation: upright; -webkit-text-orientation: mixed;} </style>
11
		<style id="test4"> dummy { text-orientation: upright; -webkit-text-orientation: mixed;} </style>
12
		<style id="test5"> dummy { -webkit-text-orientation: upright; text-orientation: mixed;} </style>
12
		<style id="test5"> dummy { -webkit-text-orientation: upright; text-orientation: mixed;} </style>
13
		<style id="test6"> dummy { -webkit-text-orientation: upright; text-orientation: mixed; -webkit-text-orientation: sideways;} </style>
13
		<style id="test6"> dummy { -webkit-text-orientation: upright; text-orientation: mixed; -webkit-text-orientation: sideways;} </style>
14
		<style id="test7"> dummy { -webkit-text-orientation: sideways-right;} </style>
15
		<style id="test8"> dummy { text-orientation: sideways-right;} </style>
16
14
17
15
		<script>
18
		<script>
16
			shouldBeEqualToString("document.getElementById('test1').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "upright");
19
			shouldBeEqualToString("document.getElementById('test1').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "upright");
Lines 18-34 a/LayoutTests/fast/text/text-orientation-parse-stylesheet.html_sec2
18
			shouldBeEqualToString("document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "upright");
21
			shouldBeEqualToString("document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "upright");
19
			shouldBeEqualToString("document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "mixed");
22
			shouldBeEqualToString("document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "mixed");
20
			shouldBeEqualToString("document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "mixed");
23
			shouldBeEqualToString("document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "mixed");
24
			shouldBeEqualToString("document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "sideways");
25
			shouldBeEqualToString("document.getElementById('test7').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "sideways");
26
			shouldBeEqualToString("document.getElementById('test8').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "");
21
27
22
			shouldBeEqualToString("document.getElementById('test1').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "upright");
28
			shouldBeEqualToString("document.getElementById('test1').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "upright");
23
			shouldBeEqualToString("document.getElementById('test2').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "upright");
29
			shouldBeEqualToString("document.getElementById('test2').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "upright");
24
			shouldBeEqualToString("document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "upright");
30
			shouldBeEqualToString("document.getElementById('test3').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "upright");
25
			shouldBeEqualToString("document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "mixed");
31
			shouldBeEqualToString("document.getElementById('test4').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "mixed");
26
			shouldBeEqualToString("document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "mixed");
32
			shouldBeEqualToString("document.getElementById('test5').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "mixed");
27
28
			shouldBeEqualToString("document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "sideways");
33
			shouldBeEqualToString("document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "sideways");
29
			shouldBeEqualToString("document.getElementById('test6').sheet.cssRules[0].style.getPropertyValue('text-orientation')", "sideways");
34
			shouldBeEqualToString("document.getElementById('test7').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "sideways");
30
35
			shouldBeEqualToString("document.getElementById('test8').sheet.cssRules[0].style.getPropertyValue('-webkit-text-orientation')", "");
31
32
		</script>
36
		</script>
33
37
34
		<script src="../../resources/js-test-post.js"></script>
38
		<script src="../../resources/js-test-post.js"></script>

Return to Bug 238356